amps-python-client 5.3.4.1__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.3/LICENSE +168 -0
- amps-python-client-5.3.4.3/PKG-INFO +112 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/.buildinfo +4 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/intro.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/logon.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/publishing.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/removing.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/utilities.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_sources/index.rst.txt +36 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/ack-messages.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/content-messages.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/intro.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/logon.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/protocol-reference.html +93 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/publishing.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/query-delimiters.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/query-subscribe.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/removing.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/chapters/utilities.html +95 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/genindex.html +97 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/index.html +98 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/objects.inv +6 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/search.html +107 -0
- amps-python-client-5.3.4.3/docs/command-reference/html/searchindex.js +1 -0
- amps-python-client-5.3.4.3/docs/html/.buildinfo +4 -0
- amps-python-client-5.3.4.3/docs/html/code.html +6851 -0
- amps-python-client-5.3.4.3/docs/html/genindex.html +1363 -0
- amps-python-client-5.3.4.3/docs/html/index.html +131 -0
- amps-python-client-5.3.4.3/docs/html/objects.inv +0 -0
- amps-python-client-5.3.4.3/docs/html/py-modindex.html +111 -0
- amps-python-client-5.3.4.3/docs/html/search.html +107 -0
- amps-python-client-5.3.4.3/docs/html/searchindex.js +1 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/deltas.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/error-handling.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/exceptions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/first-program.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/high-availability.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/installing.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/introduction.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.3/docs/python/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python/html/.buildinfo +4 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/error-handling.rst.txt +481 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/exceptions.rst.txt +123 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/first-program.rst.txt +168 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/high-availability.rst.txt +879 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/performance-tips.rst.txt +432 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/sow.rst.txt +294 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
- amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
- amps-python-client-5.3.4.3/docs/python/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/advanced-topics.html +447 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/cpp-compiler-list.html +92 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/cpp-feature-table.html +156 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/creating-commands.html +2882 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/deltas.html +169 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/error-handling.html +745 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/exceptions.html +266 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/first-program.html +526 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/high-availability.html +1017 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/installing.html +264 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/introduction.html +245 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/moving-from-python-lite.html +118 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/performance-tips.html +499 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/queues.html +352 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/sow.html +383 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/subscriptions.html +535 -0
- amps-python-client-5.3.4.3/docs/python/html/chapters/utilities.html +302 -0
- amps-python-client-5.3.4.3/docs/python/html/genindex.html +351 -0
- amps-python-client-5.3.4.3/docs/python/html/index.html +382 -0
- amps-python-client-5.3.4.3/docs/python/html/objects.inv +0 -0
- amps-python-client-5.3.4.3/docs/python/html/search.html +107 -0
- amps-python-client-5.3.4.3/docs/python/html/searchindex.js +1 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/.buildinfo +4 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/chapters/crankitup.html +271 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/chapters/equipment.html +105 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/genindex.html +97 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/index.html +381 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/objects.inv +0 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/search.html +107 -0
- amps-python-client-5.3.4.3/docs/python-quickstart/html/searchindex.js +1 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/events.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/.buildinfo +4 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/acks.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/actions.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/daemon.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/delta.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/distribution.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/events.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/glossary.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/ha.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/intro.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/logging.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/oof.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/operation.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/queues.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/replication.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/securing.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/sow.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/transports.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/txlog.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/usecases.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/utilities.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/views.rst.txt +8 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_sources/index.rst.txt +62 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/acks.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/actions.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps-statistics.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps_expressions.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps_functions.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/auxiliary_modules.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/config-file-shortcuts.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/conflated_topics.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/constructing-fields.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/daemon.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/delta.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/distribution.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/enrichment.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/events.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/file_format_versions.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/glossary.html +92 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/ha.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/installing_and_starting.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/intro.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/logging.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/messageTypes.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/monitoring.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/oof.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/operation.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/pub_sub.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/queues.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/replication.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/securing.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/sow.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/sow_queries.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/spark.html +819 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/transports.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/troubleshooting.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/txlog.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/usecases.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/utilities.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/chapters/views.html +94 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/genindex.html +133 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/index.html +96 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/objects.inv +0 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/search.html +106 -0
- amps-python-client-5.3.4.3/docs/user-guide/html/searchindex.js +1 -0
- amps-python-client-5.3.4.3/include/ampspy_bookmarkstore.hpp +63 -0
- amps-python-client-5.3.4.3/include/ampspy_compat.h +63 -0
- amps-python-client-5.3.4.3/include/ampspy_defs.hpp +181 -0
- amps-python-client-5.3.4.3/include/ampspy_recoverypointadapter.hpp +52 -0
- amps-python-client-5.3.4.3/include/ampspy_shims.hpp +113 -0
- amps-python-client-5.3.4.3/include/ampspy_type_object.hpp +242 -0
- amps-python-client-5.3.4.3/include/ampspy_types.hpp +1139 -0
- amps-python-client-5.3.4.3/include/ampspyver.h +30 -0
- amps-python-client-5.3.4.3/index.html +66 -0
- amps-python-client-5.3.4.3/samples/AMPSConsolePublisher.py +59 -0
- amps-python-client-5.3.4.3/samples/AMPSConsoleSubscriber.py +63 -0
- amps-python-client-5.3.4.3/samples/AMPSFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.3/samples/AMPSFIXShredderSubscriber.py +69 -0
- amps-python-client-5.3.4.3/samples/AMPSNVFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.3/samples/AMPSNVFIXShredderSubscriber.py +67 -0
- amps-python-client-5.3.4.3/samples/AMPSPublishForReplay.py +81 -0
- amps-python-client-5.3.4.3/samples/AMPSQueueConsumer.py +69 -0
- amps-python-client-5.3.4.3/samples/AMPSQueuePublisher.py +59 -0
- amps-python-client-5.3.4.3/samples/AMPSSOWConsolePublisher.py +67 -0
- amps-python-client-5.3.4.3/samples/AMPSSOWConsoleSubscriber.py +77 -0
- amps-python-client-5.3.4.3/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
- amps-python-client-5.3.4.3/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
- amps-python-client-5.3.4.3/samples/AMPSSubscribeForReplay.py +128 -0
- amps-python-client-5.3.4.3/samples/AMPSUpdateForOOF.py +123 -0
- amps-python-client-5.3.4.3/samples/CompositeMessagePublisher.py +84 -0
- amps-python-client-5.3.4.3/samples/CompositeMessageSubscriber.py +87 -0
- amps-python-client-5.3.4.3/samples/RandomServerChooser.py +66 -0
- amps-python-client-5.3.4.3/samples/sample.xml +335 -0
- amps-python-client-5.3.4.3/setup.py +210 -0
- amps-python-client-5.3.4.3/setup_amps.py +94 -0
- amps-python-client-5.3.4.3/src/ampspy_shims.cpp +214 -0
- amps-python-client-5.3.4.3/src/ampspy_type_object.cpp +495 -0
- amps-python-client-5.3.4.3/src/authenticator.cpp +128 -0
- amps-python-client-5.3.4.3/src/bookmarkstore.cpp +246 -0
- amps-python-client-5.3.4.3/src/client.cpp +2648 -0
- amps-python-client-5.3.4.3/src/client_docs.h +1210 -0
- amps-python-client-5.3.4.3/src/cmessagehandler.cpp +161 -0
- amps-python-client-5.3.4.3/src/command.cpp +164 -0
- amps-python-client-5.3.4.3/src/command_docs.h +274 -0
- amps-python-client-5.3.4.3/src/compositemessagebuilder.cpp +113 -0
- amps-python-client-5.3.4.3/src/compositemessageparser.cpp +151 -0
- amps-python-client-5.3.4.3/src/conflatingrecoverypointadapter.cpp +197 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/BlockPublishStore.hpp +2050 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/BlockStore.hpp +674 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/BookmarkStore.hpp +542 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/Buffer.hpp +214 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/Field.hpp +723 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/HAClient.hpp +370 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/HAClientImpl.hpp +460 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/LoggedBookmarkStore.hpp +1256 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MMapStoreBuffer.hpp +297 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryBookmarkStore.hpp +1628 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryStoreBuffer.hpp +247 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/Message.hpp +1827 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/MessageRouter.hpp +647 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/PublishStore.hpp +158 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +494 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ServerChooser.hpp +156 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/amps.h +815 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/amps_impl.h +220 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/amps_ssl.h +78 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ampscrc.hpp +208 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ampsplusplus.hpp +8846 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ampsuri.h +84 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ampsver.h +41 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/ampsver.h.in +41 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/constants.hpp +194 -0
- amps-python-client-5.3.4.3/src/cpp/include/amps/util.hpp +1722 -0
- amps-python-client-5.3.4.3/src/cpp/src/amps_protocol.c +693 -0
- amps-python-client-5.3.4.3/src/cpp/src/amps_ssl.c +565 -0
- amps-python-client-5.3.4.3/src/cpp/src/atfork.c +484 -0
- amps-python-client-5.3.4.3/src/cpp/src/client.c +498 -0
- amps-python-client-5.3.4.3/src/cpp/src/message.c +837 -0
- amps-python-client-5.3.4.3/src/cpp/src/message_generated.h +611 -0
- amps-python-client-5.3.4.3/src/cpp/src/tcp.c +1683 -0
- amps-python-client-5.3.4.3/src/cpp/src/tcps.c +2005 -0
- amps-python-client-5.3.4.3/src/cpp/src/transports.c +129 -0
- amps-python-client-5.3.4.3/src/cpp/src/unix.c +1063 -0
- amps-python-client-5.3.4.3/src/cpp/src/uri.c +301 -0
- amps-python-client-5.3.4.3/src/exponentialdelaystrategy.cpp +131 -0
- amps-python-client-5.3.4.3/src/failedwritehandler.cpp +116 -0
- amps-python-client-5.3.4.3/src/fixbuilder.cpp +146 -0
- amps-python-client-5.3.4.3/src/fixeddelaystrategy.cpp +115 -0
- amps-python-client-5.3.4.3/src/fixshredder.cpp +105 -0
- amps-python-client-5.3.4.3/src/fixshredder_docs.h +38 -0
- amps-python-client-5.3.4.3/src/haclient.cpp +691 -0
- amps-python-client-5.3.4.3/src/haclient_docs.h +200 -0
- amps-python-client-5.3.4.3/src/hybridpublishstore.cpp +137 -0
- amps-python-client-5.3.4.3/src/hybridpublishstore_docs.h +31 -0
- amps-python-client-5.3.4.3/src/memorybookmarkstore.cpp +373 -0
- amps-python-client-5.3.4.3/src/memorybookmarkstore_docs.h +39 -0
- amps-python-client-5.3.4.3/src/memorypublishstore.cpp +160 -0
- amps-python-client-5.3.4.3/src/memorypublishstore_docs.h +32 -0
- amps-python-client-5.3.4.3/src/message.cpp +765 -0
- amps-python-client-5.3.4.3/src/message_docs.h +306 -0
- amps-python-client-5.3.4.3/src/messagestream.cpp +630 -0
- amps-python-client-5.3.4.3/src/messagestream_docs.h +45 -0
- amps-python-client-5.3.4.3/src/mmapbookmarkstore.cpp +422 -0
- amps-python-client-5.3.4.3/src/nvfixbuilder.cpp +160 -0
- amps-python-client-5.3.4.3/src/nvfixbuilder_docs.h +35 -0
- amps-python-client-5.3.4.3/src/nvfixshredder.cpp +99 -0
- amps-python-client-5.3.4.3/src/nvfixshredder_docs.h +43 -0
- amps-python-client-5.3.4.3/src/publishstore.cpp +183 -0
- amps-python-client-5.3.4.3/src/raw_wrapper.cpp +765 -0
- amps-python-client-5.3.4.3/src/reason.cpp +71 -0
- amps-python-client-5.3.4.3/src/recoverypoint.cpp +135 -0
- amps-python-client-5.3.4.3/src/recoverypointadapter.cpp +171 -0
- amps-python-client-5.3.4.3/src/ringbookmarkstore.cpp +360 -0
- amps-python-client-5.3.4.3/src/serverchooser.cpp +245 -0
- amps-python-client-5.3.4.3/src/serverchooser_docs.h +41 -0
- amps-python-client-5.3.4.3/src/sowrecoverypointadapter.cpp +248 -0
- amps-python-client-5.3.4.3/src/store.cpp +62 -0
- amps-python-client-5.3.4.3/src/versioninfo.cpp +175 -0
- amps-python-client-5.3.4.1/LICENSE +0 -157
- amps-python-client-5.3.4.1/PKG-INFO +0 -112
- 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 +0 -4
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -32
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -27
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -43
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -231
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -1474
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -25
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -12
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -23
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -6
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -13
- amps-python-client-5.3.4.1/docs/command-reference/html/_sources/index.rst.txt +0 -56
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css +0 -192
- amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css.backup +0 -161
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/ack-messages.html +0 -417
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/content-messages.html +0 -417
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/intro.html +0 -126
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/logon.html +0 -295
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/protocol-reference.html +0 -1190
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/publishing.html +0 -436
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-delimiters.html +0 -173
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-subscribe.html +0 -2123
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/removing.html +0 -299
- amps-python-client-5.3.4.1/docs/command-reference/html/chapters/utilities.html +0 -287
- amps-python-client-5.3.4.1/docs/command-reference/html/genindex.html +0 -97
- amps-python-client-5.3.4.1/docs/command-reference/html/index.html +0 -138
- 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 +0 -107
- amps-python-client-5.3.4.1/docs/command-reference/html/searchindex.js +0 -1
- amps-python-client-5.3.4.1/docs/html/.buildinfo +0 -4
- amps-python-client-5.3.4.1/docs/html/code.html +0 -6503
- amps-python-client-5.3.4.1/docs/html/genindex.html +0 -1361
- amps-python-client-5.3.4.1/docs/html/index.html +0 -131
- 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 +0 -111
- amps-python-client-5.3.4.1/docs/html/search.html +0 -107
- amps-python-client-5.3.4.1/docs/html/searchindex.js +0 -1
- 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 +0 -4
- amps-python-client-5.3.4.1/docs/python/html/_images/caution.svg +0 -25
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -398
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -26
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -159
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/deltas.rst.txt +0 -79
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -482
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -128
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/first-program.rst.txt +0 -142
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -876
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/installing.rst.txt +0 -184
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/introduction.rst.txt +0 -50
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -32
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -434
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/queues.rst.txt +0 -282
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/sow.rst.txt +0 -292
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -374
- amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/utilities.rst.txt +0 -214
- amps-python-client-5.3.4.1/docs/python/html/_static/custom.css +0 -192
- amps-python-client-5.3.4.1/docs/python/html/_static/custom.css.backup +0 -161
- amps-python-client-5.3.4.1/docs/python/html/chapters/advanced-topics.html +0 -447
- amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-compiler-list.html +0 -92
- amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-feature-table.html +0 -156
- amps-python-client-5.3.4.1/docs/python/html/chapters/creating-commands.html +0 -2837
- amps-python-client-5.3.4.1/docs/python/html/chapters/deltas.html +0 -169
- amps-python-client-5.3.4.1/docs/python/html/chapters/error-handling.html +0 -746
- amps-python-client-5.3.4.1/docs/python/html/chapters/exceptions.html +0 -272
- amps-python-client-5.3.4.1/docs/python/html/chapters/first-program.html +0 -499
- amps-python-client-5.3.4.1/docs/python/html/chapters/high-availability.html +0 -1014
- amps-python-client-5.3.4.1/docs/python/html/chapters/installing.html +0 -264
- amps-python-client-5.3.4.1/docs/python/html/chapters/introduction.html +0 -245
- amps-python-client-5.3.4.1/docs/python/html/chapters/moving-from-python-lite.html +0 -118
- amps-python-client-5.3.4.1/docs/python/html/chapters/performance-tips.html +0 -499
- amps-python-client-5.3.4.1/docs/python/html/chapters/queues.html +0 -352
- amps-python-client-5.3.4.1/docs/python/html/chapters/sow.html +0 -381
- amps-python-client-5.3.4.1/docs/python/html/chapters/subscriptions.html +0 -535
- amps-python-client-5.3.4.1/docs/python/html/chapters/utilities.html +0 -302
- amps-python-client-5.3.4.1/docs/python/html/genindex.html +0 -351
- amps-python-client-5.3.4.1/docs/python/html/index.html +0 -380
- 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 +0 -107
- amps-python-client-5.3.4.1/docs/python/html/searchindex.js +0 -1
- 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 +0 -4
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css +0 -192
- amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css.backup +0 -161
- amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/crankitup.html +0 -271
- amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/equipment.html +0 -105
- amps-python-client-5.3.4.1/docs/python-quickstart/html/genindex.html +0 -97
- amps-python-client-5.3.4.1/docs/python-quickstart/html/index.html +0 -382
- 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 +0 -107
- amps-python-client-5.3.4.1/docs/python-quickstart/html/searchindex.js +0 -1
- 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 +0 -4
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/AMPS-Queues-Intro.svg +0 -1330
- 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 +0 -235
- 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 +0 -1
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub2.svg +0 -1
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWAndSubscribeAndReplace.svg +0 -684
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery1.svg +0 -402
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery2.svg +0 -505
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig1.svg +0 -1
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig2.svg +0 -1
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig3.svg +0 -1
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig4.svg +0 -1
- 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 +0 -25
- 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 +0 -25
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/inline_view_conflation.svg +0 -1
- 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 +0 -627
- 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 +0 -248
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_2.svg +0 -183
- amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_update_sequence.svg +0 -1
- 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 +0 -31
- 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 +0 -23
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -232
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -111
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -358
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -83
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -11
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -86
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -9
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -111
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -269
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -232
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -556
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -186
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -191
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -39
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -203
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -101
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -465
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -23
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -116
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -34
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -1398
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -326
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -312
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -27
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -49
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -1351
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -1228
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -657
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -57
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -25
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -291
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -517
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -62
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -21
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -62
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -175
- amps-python-client-5.3.4.1/docs/user-guide/html/_sources/index.rst.txt +0 -110
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css +0 -192
- amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css.backup +0 -161
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/acks.html +0 -289
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/actions.html +0 -3782
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps-statistics.html +0 -439
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_expressions.html +0 -1552
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_functions.html +0 -1626
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/auxiliary_modules.html +0 -2548
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -508
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/conflated_topics.html +0 -328
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/constructing-fields.html +0 -447
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/daemon.html +0 -295
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/delta.html +0 -609
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/distribution.html +0 -246
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/enrichment.html +0 -264
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/events.html +0 -449
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/file_format_versions.html +0 -229
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/glossary.html +0 -215
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/ha.html +0 -978
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/installing_and_starting.html +0 -357
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/intro.html +0 -572
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/logging.html +0 -972
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/messageTypes.html +0 -1280
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/monitoring.html +0 -718
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/oof.html +0 -341
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/operation.html +0 -1515
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/pub_sub.html +0 -934
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/queues.html +0 -1767
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/replication.html +0 -1777
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/securing.html +0 -697
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow.html +0 -1038
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow_queries.html +0 -621
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/spark.html +0 -819
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/transports.html +0 -352
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/troubleshooting.html +0 -530
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/txlog.html +0 -1013
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/usecases.html +0 -288
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/utilities.html +0 -133
- amps-python-client-5.3.4.1/docs/user-guide/html/chapters/views.html +0 -1120
- amps-python-client-5.3.4.1/docs/user-guide/html/genindex.html +0 -1261
- amps-python-client-5.3.4.1/docs/user-guide/html/index.html +0 -163
- 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 +0 -106
- amps-python-client-5.3.4.1/docs/user-guide/html/searchindex.js +0 -1
- amps-python-client-5.3.4.1/include/ampspy_bookmarkstore.hpp +0 -63
- amps-python-client-5.3.4.1/include/ampspy_compat.h +0 -63
- amps-python-client-5.3.4.1/include/ampspy_defs.hpp +0 -181
- amps-python-client-5.3.4.1/include/ampspy_recoverypointadapter.hpp +0 -52
- amps-python-client-5.3.4.1/include/ampspy_shims.hpp +0 -113
- amps-python-client-5.3.4.1/include/ampspy_type_object.hpp +0 -242
- amps-python-client-5.3.4.1/include/ampspy_types.hpp +0 -1139
- amps-python-client-5.3.4.1/include/ampspyver.h +0 -30
- amps-python-client-5.3.4.1/index.html +0 -66
- amps-python-client-5.3.4.1/samples/AMPSConsolePublisher.py +0 -59
- amps-python-client-5.3.4.1/samples/AMPSConsoleSubscriber.py +0 -63
- amps-python-client-5.3.4.1/samples/AMPSFIXBuilderPublisher.py +0 -71
- amps-python-client-5.3.4.1/samples/AMPSFIXShredderSubscriber.py +0 -69
- amps-python-client-5.3.4.1/samples/AMPSNVFIXBuilderPublisher.py +0 -71
- amps-python-client-5.3.4.1/samples/AMPSNVFIXShredderSubscriber.py +0 -67
- amps-python-client-5.3.4.1/samples/AMPSPublishForReplay.py +0 -81
- amps-python-client-5.3.4.1/samples/AMPSQueueConsumer.py +0 -69
- amps-python-client-5.3.4.1/samples/AMPSQueuePublisher.py +0 -59
- amps-python-client-5.3.4.1/samples/AMPSSOWConsolePublisher.py +0 -67
- amps-python-client-5.3.4.1/samples/AMPSSOWConsoleSubscriber.py +0 -77
- amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -79
- amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeWithOOF.py +0 -108
- amps-python-client-5.3.4.1/samples/AMPSSubscribeForReplay.py +0 -128
- amps-python-client-5.3.4.1/samples/AMPSUpdateForOOF.py +0 -123
- amps-python-client-5.3.4.1/samples/CompositeMessagePublisher.py +0 -84
- amps-python-client-5.3.4.1/samples/CompositeMessageSubscriber.py +0 -87
- amps-python-client-5.3.4.1/samples/RandomServerChooser.py +0 -41
- amps-python-client-5.3.4.1/samples/sample.xml +0 -335
- amps-python-client-5.3.4.1/setup.py +0 -209
- amps-python-client-5.3.4.1/setup_amps.py +0 -94
- amps-python-client-5.3.4.1/src/ampspy_shims.cpp +0 -203
- amps-python-client-5.3.4.1/src/ampspy_type_object.cpp +0 -484
- amps-python-client-5.3.4.1/src/authenticator.cpp +0 -128
- amps-python-client-5.3.4.1/src/bookmarkstore.cpp +0 -238
- amps-python-client-5.3.4.1/src/client.cpp +0 -2430
- amps-python-client-5.3.4.1/src/client_docs.h +0 -956
- amps-python-client-5.3.4.1/src/cmessagehandler.cpp +0 -151
- amps-python-client-5.3.4.1/src/command.cpp +0 -164
- amps-python-client-5.3.4.1/src/command_docs.h +0 -194
- amps-python-client-5.3.4.1/src/compositemessagebuilder.cpp +0 -111
- amps-python-client-5.3.4.1/src/compositemessageparser.cpp +0 -146
- amps-python-client-5.3.4.1/src/conflatingrecoverypointadapter.cpp +0 -194
- amps-python-client-5.3.4.1/src/cpp/include/amps/BlockPublishStore.hpp +0 -2053
- amps-python-client-5.3.4.1/src/cpp/include/amps/BlockStore.hpp +0 -677
- amps-python-client-5.3.4.1/src/cpp/include/amps/BookmarkStore.hpp +0 -542
- amps-python-client-5.3.4.1/src/cpp/include/amps/Buffer.hpp +0 -214
- amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -174
- amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageParser.hpp +0 -151
- amps-python-client-5.3.4.1/src/cpp/include/amps/DefaultServerChooser.hpp +0 -162
- amps-python-client-5.3.4.1/src/cpp/include/amps/Field.hpp +0 -719
- amps-python-client-5.3.4.1/src/cpp/include/amps/HAClient.hpp +0 -370
- amps-python-client-5.3.4.1/src/cpp/include/amps/HAClientImpl.hpp +0 -460
- amps-python-client-5.3.4.1/src/cpp/include/amps/HybridPublishStore.hpp +0 -481
- amps-python-client-5.3.4.1/src/cpp/include/amps/LoggedBookmarkStore.hpp +0 -1255
- amps-python-client-5.3.4.1/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -1283
- amps-python-client-5.3.4.1/src/cpp/include/amps/MMapStoreBuffer.hpp +0 -290
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryBookmarkStore.hpp +0 -1622
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryPublishStore.hpp +0 -66
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryStoreBuffer.hpp +0 -244
- amps-python-client-5.3.4.1/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -850
- amps-python-client-5.3.4.1/src/cpp/include/amps/Message.hpp +0 -1819
- amps-python-client-5.3.4.1/src/cpp/include/amps/MessageRouter.hpp +0 -618
- amps-python-client-5.3.4.1/src/cpp/include/amps/PublishStore.hpp +0 -158
- amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategy.hpp +0 -106
- amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -317
- amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPoint.hpp +0 -323
- amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -501
- amps-python-client-5.3.4.1/src/cpp/include/amps/RingBookmarkStore.hpp +0 -669
- amps-python-client-5.3.4.1/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +0 -490
- amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooser.hpp +0 -145
- amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooserImpl.hpp +0 -95
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps.h +0 -775
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps_impl.h +0 -204
- amps-python-client-5.3.4.1/src/cpp/include/amps/amps_ssl.h +0 -78
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampscrc.hpp +0 -210
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsplusplus.hpp +0 -8817
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsuri.h +0 -84
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h +0 -41
- amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h.in +0 -41
- amps-python-client-5.3.4.1/src/cpp/include/amps/constants.hpp +0 -194
- amps-python-client-5.3.4.1/src/cpp/include/amps/util.hpp +0 -1692
- amps-python-client-5.3.4.1/src/cpp/src/amps_protocol.c +0 -688
- amps-python-client-5.3.4.1/src/cpp/src/amps_ssl.c +0 -489
- amps-python-client-5.3.4.1/src/cpp/src/atfork.c +0 -446
- amps-python-client-5.3.4.1/src/cpp/src/client.c +0 -483
- amps-python-client-5.3.4.1/src/cpp/src/message.c +0 -837
- amps-python-client-5.3.4.1/src/cpp/src/message_generated.h +0 -611
- amps-python-client-5.3.4.1/src/cpp/src/tcp.c +0 -1489
- amps-python-client-5.3.4.1/src/cpp/src/tcps.c +0 -1894
- amps-python-client-5.3.4.1/src/cpp/src/transports.c +0 -123
- amps-python-client-5.3.4.1/src/cpp/src/unix.c +0 -984
- amps-python-client-5.3.4.1/src/cpp/src/uri.c +0 -301
- amps-python-client-5.3.4.1/src/exponentialdelaystrategy.cpp +0 -137
- amps-python-client-5.3.4.1/src/failedwritehandler.cpp +0 -116
- amps-python-client-5.3.4.1/src/fixbuilder.cpp +0 -146
- amps-python-client-5.3.4.1/src/fixeddelaystrategy.cpp +0 -114
- amps-python-client-5.3.4.1/src/fixshredder.cpp +0 -105
- amps-python-client-5.3.4.1/src/fixshredder_docs.h +0 -38
- amps-python-client-5.3.4.1/src/haclient.cpp +0 -691
- amps-python-client-5.3.4.1/src/haclient_docs.h +0 -132
- amps-python-client-5.3.4.1/src/hybridpublishstore.cpp +0 -137
- amps-python-client-5.3.4.1/src/hybridpublishstore_docs.h +0 -31
- amps-python-client-5.3.4.1/src/memorybookmarkstore.cpp +0 -373
- amps-python-client-5.3.4.1/src/memorybookmarkstore_docs.h +0 -39
- amps-python-client-5.3.4.1/src/memorypublishstore.cpp +0 -160
- amps-python-client-5.3.4.1/src/memorypublishstore_docs.h +0 -32
- amps-python-client-5.3.4.1/src/message.cpp +0 -765
- amps-python-client-5.3.4.1/src/message_docs.h +0 -306
- amps-python-client-5.3.4.1/src/messagestream.cpp +0 -623
- amps-python-client-5.3.4.1/src/messagestream_docs.h +0 -45
- amps-python-client-5.3.4.1/src/mmapbookmarkstore.cpp +0 -422
- amps-python-client-5.3.4.1/src/nvfixbuilder.cpp +0 -160
- amps-python-client-5.3.4.1/src/nvfixbuilder_docs.h +0 -33
- amps-python-client-5.3.4.1/src/nvfixshredder.cpp +0 -99
- amps-python-client-5.3.4.1/src/nvfixshredder_docs.h +0 -39
- amps-python-client-5.3.4.1/src/publishstore.cpp +0 -183
- amps-python-client-5.3.4.1/src/raw_wrapper.cpp +0 -756
- amps-python-client-5.3.4.1/src/reason.cpp +0 -71
- amps-python-client-5.3.4.1/src/recoverypoint.cpp +0 -135
- amps-python-client-5.3.4.1/src/recoverypointadapter.cpp +0 -171
- amps-python-client-5.3.4.1/src/ringbookmarkstore.cpp +0 -360
- amps-python-client-5.3.4.1/src/serverchooser.cpp +0 -245
- amps-python-client-5.3.4.1/src/serverchooser_docs.h +0 -39
- amps-python-client-5.3.4.1/src/sowrecoverypointadapter.cpp +0 -248
- amps-python-client-5.3.4.1/src/store.cpp +0 -62
- amps-python-client-5.3.4.1/src/versioninfo.cpp +0 -175
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/HISTORY +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/README.md +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_sources/code.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/classic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/default.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/sidebar.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.png +0 -0
- {amps-python-client-5.3.4.1/docs/command-reference → amps-python-client-5.3.4.3/docs/python}/html/_images/caution.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/connection_string.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/warning.png +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/python/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/resources/custom.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/resources/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → 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.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_generated.h +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol_generated.h +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/src/makefile +0 -0
|
@@ -0,0 +1,745 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
|
6
|
+
<head>
|
|
7
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
8
|
+
|
|
9
|
+
<title>5. Error Handling — Python Developer Guide 5.3.4.0
|
|
10
|
+
documentation</title>
|
|
11
|
+
|
|
12
|
+
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
|
|
13
|
+
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
14
|
+
|
|
15
|
+
<script type="text/javascript">
|
|
16
|
+
var DOCUMENTATION_OPTIONS = {
|
|
17
|
+
URL_ROOT: '../',
|
|
18
|
+
VERSION: '5.3.4.0',
|
|
19
|
+
COLLAPSE_INDEX: false,
|
|
20
|
+
FILE_SUFFIX: '.html',
|
|
21
|
+
HAS_SOURCE: true,
|
|
22
|
+
SOURCELINK_SUFFIX: '.txt'
|
|
23
|
+
};
|
|
24
|
+
</script>
|
|
25
|
+
<script type="text/javascript" src="../_static/jquery.js"></script>
|
|
26
|
+
<script type="text/javascript" src="../_static/underscore.js"></script>
|
|
27
|
+
<script type="text/javascript" src="../_static/doctools.js"></script>
|
|
28
|
+
<link rel="index" title="Index" href="../genindex.html" />
|
|
29
|
+
<link rel="search" title="Search" href="../search.html" />
|
|
30
|
+
<link rel="next" title="6. State of the World (SOW)" href="sow.html" />
|
|
31
|
+
<link rel="prev" title="4. Subscriptions" href="subscriptions.html" />
|
|
32
|
+
|
|
33
|
+
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
37
|
+
|
|
38
|
+
</head>
|
|
39
|
+
<body role="document">
|
|
40
|
+
<div class="document">
|
|
41
|
+
|
|
42
|
+
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
43
|
+
<div class="sphinxsidebarwrapper">
|
|
44
|
+
<p class="logo"><a href="../index.html">
|
|
45
|
+
<img class="logo" src="../_static/flag_logo.png" alt="Logo"/>
|
|
46
|
+
</a></p>
|
|
47
|
+
<h3><a href="../index.html">Table Of Contents</a></h3>
|
|
48
|
+
<ul>
|
|
49
|
+
<li><a class="reference internal" href="#">5. Error Handling</a><ul>
|
|
50
|
+
<li><a class="reference internal" href="#exceptions">Exceptions</a><ul>
|
|
51
|
+
<li><a class="reference internal" href="#exception-types">Exception Types</a></li>
|
|
52
|
+
<li><a class="reference internal" href="#exception-handling-and-asynchronous-message-processing">Exception Handling and Asynchronous Message Processing</a></li>
|
|
53
|
+
</ul>
|
|
54
|
+
</li>
|
|
55
|
+
<li><a class="reference internal" href="#controlling-blocking-with-command-timeout">Controlling Blocking with Command Timeout</a></li>
|
|
56
|
+
<li><a class="reference internal" href="#disconnect-handling">Disconnect Handling</a><ul>
|
|
57
|
+
<li><a class="reference internal" href="#using-a-heartbeat-to-detect-disconnection">Using a Heartbeat to Detect Disconnection</a></li>
|
|
58
|
+
<li><a class="reference internal" href="#managing-disconnection">Managing Disconnection</a></li>
|
|
59
|
+
<li><a class="reference internal" href="#replacing-disconnect-handling">Replacing Disconnect Handling</a></li>
|
|
60
|
+
</ul>
|
|
61
|
+
</li>
|
|
62
|
+
<li><a class="reference internal" href="#unexpected-messages">Unexpected Messages</a></li>
|
|
63
|
+
<li><a class="reference internal" href="#unhandled-exceptions">Unhandled Exceptions</a></li>
|
|
64
|
+
<li><a class="reference internal" href="#detecting-write-failures">Detecting Write Failures</a></li>
|
|
65
|
+
<li><a class="reference internal" href="#monitoring-connection-state">Monitoring Connection State</a></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</li>
|
|
68
|
+
</ul>
|
|
69
|
+
<div class="relations">
|
|
70
|
+
<h3>Related Topics</h3>
|
|
71
|
+
<ul>
|
|
72
|
+
<li><a href="../index.html">Documentation overview</a><ul>
|
|
73
|
+
<li>Previous: <a href="subscriptions.html" title="previous chapter">4. Subscriptions</a></li>
|
|
74
|
+
<li>Next: <a href="sow.html" title="next chapter">6. State of the World (SOW)</a></li>
|
|
75
|
+
</ul></li>
|
|
76
|
+
</ul>
|
|
77
|
+
</div>
|
|
78
|
+
<div id="searchbox" style="display: none" role="search">
|
|
79
|
+
<h3>Quick search</h3>
|
|
80
|
+
<form class="search" action="../search.html" method="get">
|
|
81
|
+
<div><input type="text" name="q" /></div>
|
|
82
|
+
<div><input type="submit" value="Go" /></div>
|
|
83
|
+
<input type="hidden" name="check_keywords" value="yes" />
|
|
84
|
+
<input type="hidden" name="area" value="default" />
|
|
85
|
+
</form>
|
|
86
|
+
</div>
|
|
87
|
+
<script type="text/javascript">$('#searchbox').show(0);</script>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="documentwrapper">
|
|
91
|
+
<div class="bodywrapper">
|
|
92
|
+
<div class="body" role="main">
|
|
93
|
+
|
|
94
|
+
<div class="section" id="error-handling">
|
|
95
|
+
<h1>5. Error Handling<a class="headerlink" href="#error-handling" title="Permalink to this headline">¶</a></h1>
|
|
96
|
+
<p>In every distributed system, the robustness of your application depends
|
|
97
|
+
on its ability to recover gracefully from unexpected events. The AMPS
|
|
98
|
+
client provides the building blocks necessary to ensure your application
|
|
99
|
+
can recover from the kinds of errors and special events that may occur
|
|
100
|
+
when using AMPS.</p>
|
|
101
|
+
<div class="section" id="exceptions">
|
|
102
|
+
<h2>Exceptions<a class="headerlink" href="#exceptions" title="Permalink to this headline">¶</a></h2>
|
|
103
|
+
<p>Generally speaking, when an error occurs that prohibits an operation
|
|
104
|
+
from succeeding, AMPS will throw an exception. AMPS exceptions
|
|
105
|
+
universally derive from <code class="docutils literal"><span class="pre">AMPS.AMPSException</span></code>, so by catching
|
|
106
|
+
<code class="docutils literal"><span class="pre">AMPSException</span></code>, you will be sure to catch anything AMPS throws, for
|
|
107
|
+
example:</p>
|
|
108
|
+
<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">read_and_evaluate</span><span class="p">(</span><span class="n">client</span><span class="p">):</span>
|
|
109
|
+
<span class="c1"># read a new payload from the user</span>
|
|
110
|
+
<span class="n">payload</span> <span class="o">=</span> <span class="nb">input</span><span class="p">(</span><span class="s2">"Please enter a message"</span><span class="p">)</span>
|
|
111
|
+
|
|
112
|
+
<span class="c1"># write a new message to AMPS</span>
|
|
113
|
+
<span class="k">if</span> <span class="n">payload</span><span class="p">:</span>
|
|
114
|
+
<span class="k">try</span><span class="p">:</span>
|
|
115
|
+
<span class="n">client</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span>
|
|
116
|
+
<span class="s2">"UserMessage"</span><span class="p">,</span>
|
|
117
|
+
<span class="s2">"{ </span><span class="se">\"</span><span class="s2">message</span><span class="se">\"</span><span class="s2"> : </span><span class="se">\"</span><span class="si">%s</span><span class="se">\"</span><span class="s2"> }"</span> <span class="o">%</span> <span class="n">payload</span>
|
|
118
|
+
<span class="p">)</span>
|
|
119
|
+
<span class="k">except</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">AMPSException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
120
|
+
<span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"An AMPS exception"</span> <span class="o">+</span> <span class="s2">"occurred: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
|
121
|
+
</pre></div>
|
|
122
|
+
</div>
|
|
123
|
+
<p><strong>Example 5.1:</strong> <em>Catching an AMPS Exception</em></p>
|
|
124
|
+
<p>In this example, if an error occurs, the program writes the error to
|
|
125
|
+
<code class="docutils literal"><span class="pre">stderr</span></code> and the <code class="docutils literal"><span class="pre">publish()</span></code> command fails. However, <code class="docutils literal"><span class="pre">client</span></code> is
|
|
126
|
+
still usable for continued publishing and subscribing. When the error
|
|
127
|
+
occurs, the exception is written to the console. As with most Python
|
|
128
|
+
exceptions, <code class="docutils literal"><span class="pre">str()</span></code> will convert the exception into a string that
|
|
129
|
+
includes a descriptive message.</p>
|
|
130
|
+
<p>AMPS exception types vary based on the nature of the error that occurs.
|
|
131
|
+
In your program, if you would like to handle certain kinds of errors
|
|
132
|
+
differently than others, you can handle the appropriate subclass of
|
|
133
|
+
<code class="docutils literal"><span class="pre">AMPSException</span></code> to detect those specific errors and do something
|
|
134
|
+
different.</p>
|
|
135
|
+
<div class="code python highlight-default" id="exceptions-subclass-handling"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">create_new_subscription</span><span class="p">(</span><span class="n">client</span><span class="p">):</span>
|
|
136
|
+
<span class="n">messageStream</span> <span class="o">=</span> <span class="kc">None</span>
|
|
137
|
+
<span class="n">topicName</span> <span class="o">=</span> <span class="kc">None</span>
|
|
138
|
+
|
|
139
|
+
<span class="k">while</span> <span class="n">messageStream</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
140
|
+
|
|
141
|
+
<span class="c1"># attempts to retrieve a topic name (or regular expression) from the user.</span>
|
|
142
|
+
<span class="n">topicName</span> <span class="o">=</span> <span class="nb">input</span><span class="p">(</span><span class="s2">"Please enter a topic name"</span><span class="p">)</span>
|
|
143
|
+
<span class="k">try</span><span class="p">:</span>
|
|
144
|
+
|
|
145
|
+
<span class="c1"># If an error occurs when setting up the subscription, the program decides whether</span>
|
|
146
|
+
<span class="c1"># or not to try again based on the subclass of AMPSException that is thrown. In</span>
|
|
147
|
+
<span class="c1"># this case, if the exception is a BadRegexTopicError, the exception indicates</span>
|
|
148
|
+
<span class="c1"># that the user provided a bad regular expression. We would like to give the user</span>
|
|
149
|
+
<span class="c1"># a chance to correct, so we ask the user for a new topic name.</span>
|
|
150
|
+
<span class="n">messageStream</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span>
|
|
151
|
+
<span class="n">topicName</span><span class="p">,</span>
|
|
152
|
+
<span class="kc">None</span>
|
|
153
|
+
<span class="p">)</span>
|
|
154
|
+
|
|
155
|
+
<span class="c1"># This line indicates that the program catches the BadRegexTopicError exception</span>
|
|
156
|
+
<span class="c1"># and displays a specific error to the user indicating the topic name or</span>
|
|
157
|
+
<span class="c1"># expression was invalid. By not returning from the function in this except block,</span>
|
|
158
|
+
<span class="c1"># the while loop runs again and the user is asked for another topic name.</span>
|
|
159
|
+
<span class="k">except</span> <span class="n">BadRegexTopicError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
160
|
+
<span class="nb">print</span><span class="p">(</span>
|
|
161
|
+
<span class="s2">"Error: bad topic name or regular expression "</span> <span class="o">+</span>
|
|
162
|
+
<span class="n">topicName</span> <span class="o">+</span>
|
|
163
|
+
<span class="s2">". The exception was "</span> <span class="o">+</span>
|
|
164
|
+
<span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> <span class="o">+</span>
|
|
165
|
+
<span class="s2">"."</span>
|
|
166
|
+
<span class="p">)</span>
|
|
167
|
+
<span class="c1"># we'll ask the user for another topic</span>
|
|
168
|
+
|
|
169
|
+
<span class="c1"># If an AMPS exception of a type other than BadRegexTopicError is thrown by AMPS,</span>
|
|
170
|
+
<span class="c1"># it is caught here. In that case, the program emits a different error message to</span>
|
|
171
|
+
<span class="c1"># the user.</span>
|
|
172
|
+
<span class="k">except</span> <span class="n">AMPSException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
|
173
|
+
<span class="nb">print</span> <span class="p">(</span>
|
|
174
|
+
<span class="s2">"Error: error setting up subscription to topic"</span> <span class="o">+</span>
|
|
175
|
+
<span class="n">topicName</span> <span class="o">+</span>
|
|
176
|
+
<span class="s2">". The exception was "</span> <span class="o">+</span>
|
|
177
|
+
<span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> <span class="o">+</span>
|
|
178
|
+
<span class="s2">"."</span>
|
|
179
|
+
<span class="p">)</span>
|
|
180
|
+
|
|
181
|
+
<span class="c1"># At this point the code stops attempting to subscribe to the client by the return</span>
|
|
182
|
+
<span class="c1"># None statement.</span>
|
|
183
|
+
<span class="k">return</span> <span class="kc">None</span>
|
|
184
|
+
<span class="k">return</span> <span class="n">messageStream</span>
|
|
185
|
+
</pre></div>
|
|
186
|
+
</div>
|
|
187
|
+
<p><strong>Example 5.2:</strong> <em>Handling AMPSException Subclasses</em></p>
|
|
188
|
+
<div class="section" id="exception-types">
|
|
189
|
+
<h3>Exception Types<a class="headerlink" href="#exception-types" title="Permalink to this headline">¶</a></h3>
|
|
190
|
+
<p>Each method in AMPS documents the kinds of exceptions that are thrown
|
|
191
|
+
from it. For reference, <a class="reference internal" href="exceptions.html#command-publish-headers"><span class="std std-ref">Appendix A: Exceptions</span></a>
|
|
192
|
+
contains a list of all of the exception types you may encounter while
|
|
193
|
+
using AMPS, when they occur, and what they mean.</p>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="section" id="exception-handling-and-asynchronous-message-processing">
|
|
196
|
+
<h3>Exception Handling and Asynchronous Message Processing<a class="headerlink" href="#exception-handling-and-asynchronous-message-processing" title="Permalink to this headline">¶</a></h3>
|
|
197
|
+
<p>When using asynchronous message processing, exceptions thrown from the
|
|
198
|
+
message handler are silently absorbed by the AMPS Python client by
|
|
199
|
+
default. The AMPS Python client allows you to register an exception
|
|
200
|
+
listener to detect and respond to these exceptions. When an exception
|
|
201
|
+
listener is registered, AMPS will call the exception listener with the
|
|
202
|
+
exception. See
|
|
203
|
+
<a class="reference internal" href="#error-handling-exception-listener"><span class="std std-ref">Example 5.5</span></a>
|
|
204
|
+
for details.</p>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
<div class="section" id="controlling-blocking-with-command-timeout">
|
|
208
|
+
<h2>Controlling Blocking with Command Timeout<a class="headerlink" href="#controlling-blocking-with-command-timeout" title="Permalink to this headline">¶</a></h2>
|
|
209
|
+
<p>The named convenience methods and the <code class="docutils literal"><span class="pre">Command</span></code> class provide a
|
|
210
|
+
<code class="docutils literal"><span class="pre">timeout</span></code> setting that specifies how long the command should wait
|
|
211
|
+
to receive a <code class="docutils literal"><span class="pre">processed</span></code> acknowledgment from AMPS. This can be helpful
|
|
212
|
+
in cases where it is important for the caller to limit the amount of time
|
|
213
|
+
to block waiting for AMPS to acknowledge the command. If the AMPS client
|
|
214
|
+
does not receive the processed acknowledgment within the specified
|
|
215
|
+
time, the client sends an <code class="docutils literal"><span class="pre">unsubscribe</span></code> command to the server to
|
|
216
|
+
cancel the command and throws an exception.</p>
|
|
217
|
+
<p>Acknowledgments from AMPS are processed by the client receive thread
|
|
218
|
+
on the same socket as data from AMPS. This means that any other data
|
|
219
|
+
previously returned (such as the results of a large query) must be
|
|
220
|
+
consumed before the acknowledgment can be processed. An application
|
|
221
|
+
that submits a set of SOW queries in rapid succession should set a
|
|
222
|
+
timeout that takes into account the amount of time required to
|
|
223
|
+
process the results of the previous query.</p>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="section" id="disconnect-handling">
|
|
226
|
+
<h2>Disconnect Handling<a class="headerlink" href="#disconnect-handling" title="Permalink to this headline">¶</a></h2>
|
|
227
|
+
<p>Every distributed system will experience occasional disconnections
|
|
228
|
+
between one or more nodes. The reliability of the overall system depends
|
|
229
|
+
on an application’s ability to efficiently detect and recover from these
|
|
230
|
+
disconnections. Using the AMPS Python client’s disconnect handling, you
|
|
231
|
+
can build powerful applications that are resilient in the face of
|
|
232
|
+
connection failures and spurious disconnects. For additional
|
|
233
|
+
reliability, you can also use the high availability client (discussed in
|
|
234
|
+
the following sections), which provides both disconnect handling and
|
|
235
|
+
features to help ensure that messages are reliably delivered.</p>
|
|
236
|
+
<div class="section" id="using-a-heartbeat-to-detect-disconnection">
|
|
237
|
+
<h3>Using a Heartbeat to Detect Disconnection<a class="headerlink" href="#using-a-heartbeat-to-detect-disconnection" title="Permalink to this headline">¶</a></h3>
|
|
238
|
+
<p>The AMPS client includes a heartbeat feature to help applications detect
|
|
239
|
+
disconnection from the server within a predictable amount of time.
|
|
240
|
+
Without using a heartbeat, an application must rely on the operating
|
|
241
|
+
system to notify it when a disconnect occurs. For applications that are
|
|
242
|
+
simply receiving messages, it can be impossible to tell whether a socket
|
|
243
|
+
is disconnected or whether there are simply no incoming messages for the client.</p>
|
|
244
|
+
<p>When you set a heartbeat, the AMPS client sends a heartbeat message to
|
|
245
|
+
the AMPS server at a regular interval, and waits a specified amount of
|
|
246
|
+
time for the response. If the operating system reports an error on send,
|
|
247
|
+
or if there is no message received from the server within the specified
|
|
248
|
+
amount of time, the AMPS client considers the server to be disconnected.
|
|
249
|
+
Likewise, the server will ensure that traffic is sent to the client
|
|
250
|
+
at the specified interval, using heartbeat messages when no other traffic
|
|
251
|
+
is being sent to the client. If, after sending a heartbeat message, no
|
|
252
|
+
traffic from the client arrives within a period twice the specified
|
|
253
|
+
interval, the server will consider the client to be disconnected or
|
|
254
|
+
nonresponsive.</p>
|
|
255
|
+
<p>The AMPS client processes heartbeat messages on the client receive
|
|
256
|
+
thread, which is the thread used for asynchronous message processing. If
|
|
257
|
+
your application uses asynchronous message processing and occupies the
|
|
258
|
+
thread for longer than the heartbeat interval, the client may fail to
|
|
259
|
+
respond to heartbeat messages in a timely manner and may be disconnected
|
|
260
|
+
by the server.</p>
|
|
261
|
+
</div>
|
|
262
|
+
<div class="section" id="managing-disconnection">
|
|
263
|
+
<h3>Managing Disconnection<a class="headerlink" href="#managing-disconnection" title="Permalink to this headline">¶</a></h3>
|
|
264
|
+
<p>The <code class="docutils literal"><span class="pre">HAClient</span></code> class, included with the AMPS Python client, contains a
|
|
265
|
+
disconnect handler and other features for building highly-available
|
|
266
|
+
applications. The <code class="docutils literal"><span class="pre">HAClient</span></code> includes features for managing a list of
|
|
267
|
+
failover servers, resuming subscriptions, republishing in-flight
|
|
268
|
+
messages, and other functionality that is commonly needed for high
|
|
269
|
+
availability. 60East recommends using the <code class="docutils literal"><span class="pre">HAClient</span></code> for automatic
|
|
270
|
+
reconnection wherever possible, as the HAClient disconnect handler has
|
|
271
|
+
been carefully crafted to handle a wide variety of edge cases and
|
|
272
|
+
potential failures.</p>
|
|
273
|
+
<p>If an application needs to reconnect or fail over, use an
|
|
274
|
+
<code class="docutils literal"><span class="pre">HAClient</span></code>, and the AMPS client library will automatically
|
|
275
|
+
handle failover and reconnection. You control which servers
|
|
276
|
+
the client fails over to using an implementation of the
|
|
277
|
+
<code class="docutils literal"><span class="pre">ServerChooser</span></code> interface, and you can control the timing of
|
|
278
|
+
the failover using an implementation of the <code class="docutils literal"><span class="pre">ReconnectDelayStrategy</span></code>
|
|
279
|
+
interface.</p>
|
|
280
|
+
<div class="admonition tip">
|
|
281
|
+
<p class="first admonition-title">Tip</p>
|
|
282
|
+
<p class="last">For most applications, the combination of the <code class="docutils literal"><span class="pre">HAClient</span></code>
|
|
283
|
+
disconnect handler and a <code class="docutils literal"><span class="pre">ConnectionStateListener</span></code> gives
|
|
284
|
+
you the ability to monitor disconnections and add custom
|
|
285
|
+
behavior at the appropriate point in the reconnection
|
|
286
|
+
process.</p>
|
|
287
|
+
</div>
|
|
288
|
+
<p>If you need to add custom behavior to the failover (such as logging,
|
|
289
|
+
resetting an internal cache, refreshing credentials and so on), the
|
|
290
|
+
<code class="docutils literal"><span class="pre">ConnectionStateListener</span></code> class allows your application to
|
|
291
|
+
be notified and take action when disconnection is detected and at
|
|
292
|
+
each stage of the reconnection process.</p>
|
|
293
|
+
<p>To extend the behavior of the AMPS client during reconnection, implement
|
|
294
|
+
a <code class="docutils literal"><span class="pre">ConnectionStateListener</span></code>.</p>
|
|
295
|
+
</div>
|
|
296
|
+
<div class="section" id="replacing-disconnect-handling">
|
|
297
|
+
<h3>Replacing Disconnect Handling<a class="headerlink" href="#replacing-disconnect-handling" title="Permalink to this headline">¶</a></h3>
|
|
298
|
+
<p>In some cases, an application does not want the AMPS client to
|
|
299
|
+
reconnect, but instead wants to take a different action if
|
|
300
|
+
disconnection occurs. For example, a stateless publisher
|
|
301
|
+
that sends ephemeral data (such as telemetry or prices) may want
|
|
302
|
+
to exit with an error if the connection is lost rather than
|
|
303
|
+
risk falling behind and providing outdated messages. Often,
|
|
304
|
+
in this case, a monitoring process will start another publisher
|
|
305
|
+
if a publisher fails, and it is better for a message to be
|
|
306
|
+
lost than to arrive late.</p>
|
|
307
|
+
<p>To cover cases where the application has unusual needs, the
|
|
308
|
+
AMPS client library allows an application to provide custom
|
|
309
|
+
disconnect handling.</p>
|
|
310
|
+
<p>Your application gets to specify exactly what happens when a
|
|
311
|
+
disconnect occurs by supplying a function to
|
|
312
|
+
<code class="docutils literal"><span class="pre">client.set_disconnect_handler()</span></code>, which is invoked whenever
|
|
313
|
+
a disconnect occurs. This may be helpful for situations
|
|
314
|
+
where a particular connection needs to do something completely
|
|
315
|
+
different than reconnecting or failing over to another AMPS server.</p>
|
|
316
|
+
<div class="admonition caution">
|
|
317
|
+
<p class="first admonition-title">Caution</p>
|
|
318
|
+
<p class="last">Setting the disconnect handler completely replaces the disconnection
|
|
319
|
+
and failover behavior for an <code class="docutils literal"><span class="pre">HAClient</span></code> and provides the <em>only</em> disconnection
|
|
320
|
+
and failover behavior for a <code class="docutils literal"><span class="pre">Client</span></code>.</p>
|
|
321
|
+
</div>
|
|
322
|
+
<p>The handler runs on the thread that detects the disconnect. This may
|
|
323
|
+
be the client receive thread (for example, if the disconnect is detected
|
|
324
|
+
due to heartbeating) or an application thread (for example, if the disconnect
|
|
325
|
+
is detected when sending a command to AMPS).</p>
|
|
326
|
+
<p>The example below shows the basics:</p>
|
|
327
|
+
<div class="code python highlight-default" id="error-handling-disconnect-handler"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyApp</span><span class="p">:</span>
|
|
328
|
+
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">_uri</span><span class="p">):</span>
|
|
329
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">uri</span> <span class="o">=</span> <span class="n">_uri</span>
|
|
330
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="kc">None</span>
|
|
331
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">Client</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
|
|
332
|
+
|
|
333
|
+
<span class="c1"># set_disconnect_handler() method is called to supply a function for use when AMPS</span>
|
|
334
|
+
<span class="c1"># detects a disconnect. At any time, this function may be called by AMPS to</span>
|
|
335
|
+
<span class="c1"># indicate that the client has disconnected from the server, and to allow your</span>
|
|
336
|
+
<span class="c1"># application to choose what to do about it. The application continues on to</span>
|
|
337
|
+
<span class="c1"># connect and subscribe to the orders topic.</span>
|
|
338
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">set_disconnect_handler</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">exit_on_disconnection</span><span class="p">)</span>
|
|
339
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">uri</span><span class="p">)</span>
|
|
340
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">logon</span><span class="p">()</span>
|
|
341
|
+
|
|
342
|
+
<span class="c1"># display order data to the user</span>
|
|
343
|
+
<span class="k">def</span> <span class="nf">showMessage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">m</span><span class="p">):</span>
|
|
344
|
+
<span class="k">pass</span>
|
|
345
|
+
|
|
346
|
+
<span class="c1"># Our disconnect handler’s implementation begins here.</span>
|
|
347
|
+
<span class="c1">#</span>
|
|
348
|
+
<span class="c1"># In this example, we exit the application if the</span>
|
|
349
|
+
<span class="c1"># connection fails.</span>
|
|
350
|
+
|
|
351
|
+
<span class="k">def</span> <span class="nf">exit_on_disconnection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client</span><span class="p">):</span>
|
|
352
|
+
<span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
353
|
+
</pre></div>
|
|
354
|
+
</div>
|
|
355
|
+
<p><strong>Example 5.3:</strong> <em>Supplying a Disconnect Handler</em></p>
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
<div class="section" id="unexpected-messages">
|
|
359
|
+
<span id="id1"></span><h2>Unexpected Messages<a class="headerlink" href="#unexpected-messages" title="Permalink to this headline">¶</a></h2>
|
|
360
|
+
<p>The AMPS Python client handles most incoming messages and takes
|
|
361
|
+
appropriate action. Some messages are unexpected or occur only in very
|
|
362
|
+
rare circumstances. The AMPS Python client provides a way for clients to
|
|
363
|
+
process these messages. Rather than providing handlers for all of these
|
|
364
|
+
unusual events, AMPS provides a single handler function for messages
|
|
365
|
+
that can’t be handled during normal processing.</p>
|
|
366
|
+
<p>Your application registers this handler by setting the
|
|
367
|
+
<code class="docutils literal"><span class="pre">last_chance_message_handler</span></code> for the client. This handler is called
|
|
368
|
+
when the client receives a message that can’t be processed by any other
|
|
369
|
+
handler. This is a rare event, and typically indicates an unexpected
|
|
370
|
+
condition.</p>
|
|
371
|
+
<p>For example, if a client publishes a message that AMPS cannot parse,
|
|
372
|
+
AMPS returns a failure acknowledgment. This is an unexpected event, so
|
|
373
|
+
AMPS does not include an explicit handler for this event, and failure
|
|
374
|
+
acknowledgments are received in the method registered as the
|
|
375
|
+
<code class="docutils literal"><span class="pre">last_chance_message_handler</span></code>.</p>
|
|
376
|
+
<p>Your application is responsible for taking any corrective action needed.
|
|
377
|
+
For example, if a message publication fails, your application can decide
|
|
378
|
+
to republish the message, publish a compensating message, log the error,
|
|
379
|
+
stop publication altogether, or any other action that is appropriate.</p>
|
|
380
|
+
</div>
|
|
381
|
+
<div class="section" id="unhandled-exceptions">
|
|
382
|
+
<h2>Unhandled Exceptions<a class="headerlink" href="#unhandled-exceptions" title="Permalink to this headline">¶</a></h2>
|
|
383
|
+
<p>When using the asynchronous interface, exceptions can occur that are not
|
|
384
|
+
thrown to the user. For example, when an exception occurs in the process
|
|
385
|
+
of reading subscription data from the AMPS server, the exception occurs
|
|
386
|
+
on a thread inside of the AMPS Python client. Consider the following
|
|
387
|
+
example using the asynchronous interface:</p>
|
|
388
|
+
<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyApp</span><span class="p">:</span>
|
|
389
|
+
<span class="k">def</span> <span class="nf">on_message_handler</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">message</span><span class="p">):</span>
|
|
390
|
+
<span class="nb">print</span><span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">get_data</span><span class="p">())</span>
|
|
391
|
+
|
|
392
|
+
<span class="k">def</span> <span class="nf">wait_to_be_poked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">client</span><span class="p">):</span>
|
|
393
|
+
<span class="n">client</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span>
|
|
394
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">on_message_handler</span><span class="p">,</span>
|
|
395
|
+
<span class="s2">"pokes"</span><span class="p">,</span>
|
|
396
|
+
<span class="s2">"/Pokee LIKE '</span><span class="si">%s</span><span class="s2">'"</span> <span class="o">%</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">(),</span>
|
|
397
|
+
<span class="n">timeout</span><span class="o">=</span><span class="mi">5000</span><span class="p">)</span>
|
|
398
|
+
<span class="nb">input</span><span class="p">(</span><span class="s2">"Press enter to exit"</span><span class="p">)</span>
|
|
399
|
+
</pre></div>
|
|
400
|
+
</div>
|
|
401
|
+
<p><strong>Example 5.4:</strong> <em>Where do Exceptions go?</em></p>
|
|
402
|
+
<p>In this example, we set up a subscription to wait for messages on the
|
|
403
|
+
pokes topic, whose Pokee tag begins with our user name. When messages
|
|
404
|
+
arrive, we print a message out to the console, but otherwise our
|
|
405
|
+
application waits for a key to be pressed.</p>
|
|
406
|
+
<p>Inside of the AMPS client, the client creates a new thread of execution
|
|
407
|
+
that reads data from the server, and invokes message handlers and
|
|
408
|
+
disconnect handlers when those events occur. When exceptions occur
|
|
409
|
+
inside this thread, however, there is no caller for them to be thrown
|
|
410
|
+
to and by default they are ignored.</p>
|
|
411
|
+
<p>In applications that use the asynchronous interface, and where it is
|
|
412
|
+
important to deal with every issue that occurs in using AMPS, you can
|
|
413
|
+
set an <code class="docutils literal"><span class="pre">ExceptionHandler</span></code> via <code class="docutils literal"><span class="pre">Client.set_exception_listener()</span></code> that
|
|
414
|
+
receives these otherwise unhandled exceptions. Making the modifications
|
|
415
|
+
shown in the example below, to our previous example, will allow those
|
|
416
|
+
exceptions to be caught and handled. In this case we are simply printing
|
|
417
|
+
those caught exceptions out to the console.</p>
|
|
418
|
+
<div class="admonition tip">
|
|
419
|
+
<p class="first admonition-title">Tip</p>
|
|
420
|
+
<p class="last">In some cases, the AMPS Python client may wrap exceptions of unknown type into
|
|
421
|
+
an <code class="docutils literal"><span class="pre">AMPSException</span></code>. Your application should always include an except block
|
|
422
|
+
for <code class="docutils literal"><span class="pre">AMPSException</span></code>.</p>
|
|
423
|
+
</div>
|
|
424
|
+
<p>If your application will attempt to recover from an exception
|
|
425
|
+
thrown on the background processing thread, your application should
|
|
426
|
+
set a flag and attempt recovery on a <em>different</em> thread than the
|
|
427
|
+
thread that called the exception listener.</p>
|
|
428
|
+
<div class="admonition tip">
|
|
429
|
+
<p class="first admonition-title">Tip</p>
|
|
430
|
+
<p class="last">At the point that the AMPS client calls the exception listener,
|
|
431
|
+
it has handled the exception. Your exception listener must
|
|
432
|
+
not rethrow the exception (or wrap the exception and throw
|
|
433
|
+
a different exception type).</p>
|
|
434
|
+
</div>
|
|
435
|
+
<div class="code python highlight-default" id="error-handling-exception-listener"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyApp</span><span class="p">:</span>
|
|
436
|
+
<span class="k">def</span> <span class="nf">on_exception</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">e</span><span class="p">):</span>
|
|
437
|
+
<span class="nb">print</span> <span class="p">(</span><span class="s2">"Exception occurred: </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
|
438
|
+
|
|
439
|
+
<span class="k">def</span> <span class="nf">on_message_handler</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">message</span><span class="p">):</span>
|
|
440
|
+
<span class="nb">print</span> <span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">get_data</span><span class="p">())</span>
|
|
441
|
+
|
|
442
|
+
<span class="k">def</span> <span class="nf">wait_to_be_poked</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client</span><span class="p">):</span>
|
|
443
|
+
<span class="n">client</span><span class="o">.</span><span class="n">set_exception_listener</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">on_exception</span><span class="p">)</span>
|
|
444
|
+
|
|
445
|
+
<span class="c1"># Use the advanced interface to be able to</span>
|
|
446
|
+
<span class="c1"># accept input while processing messages.</span>
|
|
447
|
+
|
|
448
|
+
<span class="n">client</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span>
|
|
449
|
+
<span class="bp">self</span><span class="o">.</span><span class="n">on_message_handler</span><span class="p">,</span>
|
|
450
|
+
<span class="s2">"pokes"</span><span class="p">,</span>
|
|
451
|
+
<span class="s2">"/Pokee LIKE '</span><span class="si">%s</span><span class="s2">'"</span> <span class="o">%</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getuser</span><span class="p">(),</span>
|
|
452
|
+
<span class="n">timeout</span><span class="o">=</span><span class="mi">5000</span><span class="p">)</span>
|
|
453
|
+
<span class="nb">input</span><span class="p">(</span><span class="s2">"Press enter to exit"</span><span class="p">)</span>
|
|
454
|
+
</pre></div>
|
|
455
|
+
</div>
|
|
456
|
+
<p><strong>Example 5.5:</strong> <em>Exception Listener</em></p>
|
|
457
|
+
<p>In this example we have added a call to
|
|
458
|
+
<code class="docutils literal"><span class="pre">client.set_exception_listener()</span></code>, registering a simple function that
|
|
459
|
+
writes the text of the exception out to the console. If exceptions are
|
|
460
|
+
thrown in the message handler, those exceptions are written to the
|
|
461
|
+
console.</p>
|
|
462
|
+
<p>AMPS records the stack trace and provides it to the exception handler,
|
|
463
|
+
if the provided method includes a parameter for the stack trace. The
|
|
464
|
+
sample below demonstrates one way to do this. (For sample purposes, the
|
|
465
|
+
message handler always throws an exception.)</p>
|
|
466
|
+
<div class="code python highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">AMPS</span>
|
|
467
|
+
<span class="kn">import</span> <span class="nn">time</span>
|
|
468
|
+
<span class="kn">import</span> <span class="nn">traceback</span>
|
|
469
|
+
|
|
470
|
+
<span class="k">def</span> <span class="nf">handler</span><span class="p">(</span><span class="n">message</span><span class="p">):</span>
|
|
471
|
+
<span class="nb">print</span> <span class="p">(</span><span class="n">message</span><span class="p">)</span>
|
|
472
|
+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">"in my handler"</span><span class="p">)</span>
|
|
473
|
+
|
|
474
|
+
<span class="k">def</span> <span class="nf">exception_listener</span><span class="p">(</span><span class="n">exception</span><span class="p">,</span> <span class="n">tb</span><span class="p">):</span>
|
|
475
|
+
<span class="nb">print</span> <span class="p">(</span><span class="s2">"EXCEPTION RECEIVED"</span><span class="p">,</span> <span class="n">exception</span><span class="p">)</span>
|
|
476
|
+
<span class="k">if</span> <span class="n">tb</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
477
|
+
<span class="n">traceback</span><span class="o">.</span><span class="n">print_tb</span><span class="p">(</span><span class="n">tb</span><span class="p">)</span>
|
|
478
|
+
|
|
479
|
+
<span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">Client</span><span class="p">(</span><span class="s2">"client"</span><span class="p">)</span>
|
|
480
|
+
|
|
481
|
+
<span class="n">client</span><span class="o">.</span><span class="n">set_exception_listener</span><span class="p">(</span><span class="n">exception_listener</span><span class="p">)</span>
|
|
482
|
+
|
|
483
|
+
<span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">"tcp://localhost:9007/amps/json"</span><span class="p">)</span>
|
|
484
|
+
|
|
485
|
+
<span class="n">client</span><span class="o">.</span><span class="n">logon</span><span class="p">()</span>
|
|
486
|
+
<span class="n">client</span><span class="o">.</span><span class="n">subscribe</span><span class="p">(</span><span class="n">handler</span><span class="p">,</span><span class="s2">"topic"</span><span class="p">)</span>
|
|
487
|
+
<span class="n">client</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span><span class="s2">"topic"</span><span class="p">,</span><span class="s2">"data"</span><span class="p">)</span>
|
|
488
|
+
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
489
|
+
<span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
|
490
|
+
</pre></div>
|
|
491
|
+
</div>
|
|
492
|
+
<p><strong>Example 5.6:</strong> <em>AMPS stack trace</em></p>
|
|
493
|
+
</div>
|
|
494
|
+
<div class="section" id="detecting-write-failures">
|
|
495
|
+
<h2>Detecting Write Failures<a class="headerlink" href="#detecting-write-failures" title="Permalink to this headline">¶</a></h2>
|
|
496
|
+
<p id="index-0">The <code class="docutils literal"><span class="pre">publish</span></code> methods in the Python client deliver the
|
|
497
|
+
message to be published to AMPS then return immediately, without waiting
|
|
498
|
+
for AMPS to return an acknowledgment. Likewise, the <code class="docutils literal"><span class="pre">sow_delete</span></code>
|
|
499
|
+
methods request deletion of SOW messages, and return before AMPS
|
|
500
|
+
processes the message and performs the deletion. This approach provides
|
|
501
|
+
high performance for operations that are unlikely to fail in production.
|
|
502
|
+
However, this means that the methods return before AMPS has processed
|
|
503
|
+
the command, without the ability to return an error in the event the
|
|
504
|
+
command fails.</p>
|
|
505
|
+
<p>The AMPS Python client provides a <code class="docutils literal"><span class="pre">failed_write_handler</span></code> that is
|
|
506
|
+
called when the client receives an acknowledgment that indicates a
|
|
507
|
+
failure to persist data within AMPS. As with the
|
|
508
|
+
<code class="docutils literal"><span class="pre">last_chance_message_handler</span></code> described in the
|
|
509
|
+
<a class="reference internal" href="#unexpected-messages"><span class="std std-ref">Unexpected Messages</span></a> section,
|
|
510
|
+
your application registers a handler for this function. When an acknowledgment returns that
|
|
511
|
+
indicates a failed write, AMPS calls the registered handler method with
|
|
512
|
+
information from the acknowledgment message, supplemented with
|
|
513
|
+
information from the client publish store if one is available. Your
|
|
514
|
+
client can log this information, present an error to the user or take
|
|
515
|
+
whatever action is appropriate for the failure.</p>
|
|
516
|
+
<p>If your application needs to know whether publishes succeeded and
|
|
517
|
+
are durably persisted, the following approach is recommended:</p>
|
|
518
|
+
<ul class="simple">
|
|
519
|
+
<li>Set a <code class="docutils literal"><span class="pre">PublishStore</span></code> on the client. This will ensure that messages
|
|
520
|
+
are retransmitted if the client becomes disconnected before the
|
|
521
|
+
message is acknowledged <em>and</em> request <code class="docutils literal"><span class="pre">persisted</span></code> acknowledgments
|
|
522
|
+
for messages.</li>
|
|
523
|
+
<li>Install a <code class="docutils literal"><span class="pre">failed_write_handler</span></code>. In the event that AMPS reports
|
|
524
|
+
an error for a given message, that event will be reported to
|
|
525
|
+
the <code class="docutils literal"><span class="pre">failed_write_handler</span></code>.</li>
|
|
526
|
+
<li>Call <code class="docutils literal"><span class="pre">publish_flush()</span></code> and verify that all messages are
|
|
527
|
+
persisted before the application exits.</li>
|
|
528
|
+
</ul>
|
|
529
|
+
<p>When no <code class="docutils literal"><span class="pre">failed_write_handler</span></code> is registered, acknowledgments that
|
|
530
|
+
indicate errors in persisting data are treated as unexpected messages
|
|
531
|
+
and routed to the <code class="docutils literal"><span class="pre">last_chance_message_handler</span></code>. In this case, AMPS
|
|
532
|
+
provides only the acknowledgment message and does not provide the
|
|
533
|
+
additional information from the client publish store.</p>
|
|
534
|
+
</div>
|
|
535
|
+
<div class="section" id="monitoring-connection-state">
|
|
536
|
+
<h2>Monitoring Connection State<a class="headerlink" href="#monitoring-connection-state" title="Permalink to this headline">¶</a></h2>
|
|
537
|
+
<p>The AMPS client interface provides the ability to set one or more connection
|
|
538
|
+
state listeners. A connection state listener is a callback that is invoked
|
|
539
|
+
when the AMPS client detects a change to the connection state.</p>
|
|
540
|
+
<p>A connection state listener may be called from the client receive thread.
|
|
541
|
+
An application should not submit commands to AMPS from a connection
|
|
542
|
+
state listener, or the application risks creating a deadlock for
|
|
543
|
+
commands that wait for acknowledgment from the server.</p>
|
|
544
|
+
<p>The AMPS client provides the following state values for a connection state
|
|
545
|
+
listener:</p>
|
|
546
|
+
<table border="1" class="docutils">
|
|
547
|
+
<colgroup>
|
|
548
|
+
<col width="30%" />
|
|
549
|
+
<col width="70%" />
|
|
550
|
+
</colgroup>
|
|
551
|
+
<thead valign="bottom">
|
|
552
|
+
<tr class="row-odd"><th class="head">State</th>
|
|
553
|
+
<th class="head">Indicates</th>
|
|
554
|
+
</tr>
|
|
555
|
+
</thead>
|
|
556
|
+
<tbody valign="top">
|
|
557
|
+
<tr class="row-even"><td>Connected</td>
|
|
558
|
+
<td><p class="first">The client has established a connection to
|
|
559
|
+
AMPS. If you are using a <code class="docutils literal"><span class="pre">Client</span></code>, this
|
|
560
|
+
is delivered when <code class="docutils literal"><span class="pre">connect()</span></code> is successful.</p>
|
|
561
|
+
<p>If you are using an <code class="docutils literal"><span class="pre">HAClient</span></code>, this state
|
|
562
|
+
indicates that the <code class="docutils literal"><span class="pre">connect</span></code> part of the
|
|
563
|
+
connect and logon process has completed.
|
|
564
|
+
An <code class="docutils literal"><span class="pre">HAClient</span></code> using the default disconnect
|
|
565
|
+
handler will attempt to log on immediately after
|
|
566
|
+
delivering this state.</p>
|
|
567
|
+
<p>Most applications that use <code class="docutils literal"><span class="pre">Client</span></code> will
|
|
568
|
+
attempt to log on immediately after the call to
|
|
569
|
+
<code class="docutils literal"><span class="pre">connect()</span></code> returns.</p>
|
|
570
|
+
<p class="last">An application should not submit commands to
|
|
571
|
+
AMPS from the connection state listener
|
|
572
|
+
while the client is in this state <em>unless</em>
|
|
573
|
+
the application knows that the state has been
|
|
574
|
+
delivered from a <code class="docutils literal"><span class="pre">Client</span></code> and that the
|
|
575
|
+
<code class="docutils literal"><span class="pre">Client</span></code> does not call <code class="docutils literal"><span class="pre">logon()</span></code>.</p>
|
|
576
|
+
</td>
|
|
577
|
+
</tr>
|
|
578
|
+
<tr class="row-odd"><td>LoggedOn</td>
|
|
579
|
+
<td><p class="first">The client has successfully logged on to
|
|
580
|
+
AMPS. If you are using a <code class="docutils literal"><span class="pre">Client</span></code>, this
|
|
581
|
+
is delivered when <code class="docutils literal"><span class="pre">logon()</span></code> is successful.</p>
|
|
582
|
+
<p>If you are using an <code class="docutils literal"><span class="pre">HAClient</span></code>, this state
|
|
583
|
+
indicates that the <code class="docutils literal"><span class="pre">logon</span></code> part of the
|
|
584
|
+
connect and logon process has completed.</p>
|
|
585
|
+
<p class="last">This state is delivered after the client is
|
|
586
|
+
logged on, but before recovery of client state
|
|
587
|
+
is complete. Recovery will continue after
|
|
588
|
+
delivering this state: the application should
|
|
589
|
+
not submit commands to AMPS from the connection
|
|
590
|
+
state listener while the client
|
|
591
|
+
is in this state if further recovery will take
|
|
592
|
+
place.</p>
|
|
593
|
+
</td>
|
|
594
|
+
</tr>
|
|
595
|
+
<tr class="row-even"><td>HeartbeatInitiated</td>
|
|
596
|
+
<td><p class="first">The client has successfully started heartbeat
|
|
597
|
+
monitoring with AMPS. This state is delivered
|
|
598
|
+
if the application has enabled heartbeating
|
|
599
|
+
on the client.</p>
|
|
600
|
+
<p class="last">This state is delivered before recovery of the
|
|
601
|
+
client state is complete. Recovery may continue
|
|
602
|
+
after this state is delivered. The application
|
|
603
|
+
should not submit commands to AMPS from the
|
|
604
|
+
connection state listener until the
|
|
605
|
+
client is completely recovered.</p>
|
|
606
|
+
</td>
|
|
607
|
+
</tr>
|
|
608
|
+
<tr class="row-odd"><td>PublishReplayed</td>
|
|
609
|
+
<td><p class="first">Delivered when a client has completed replay
|
|
610
|
+
of the publish store when recovering after
|
|
611
|
+
connecting to AMPS.</p>
|
|
612
|
+
<p>This state is delivered when the client has a
|
|
613
|
+
PublishStore configured.</p>
|
|
614
|
+
<p class="last">If the client has a subscription manager set,
|
|
615
|
+
(which is the default for an <code class="docutils literal"><span class="pre">HAClient</span></code>), the
|
|
616
|
+
application should not submit commands from
|
|
617
|
+
the connection state listener until the
|
|
618
|
+
<code class="docutils literal"><span class="pre">Resubscribed</span></code> state is received.</p>
|
|
619
|
+
</td>
|
|
620
|
+
</tr>
|
|
621
|
+
<tr class="row-even"><td>Resubscribed</td>
|
|
622
|
+
<td><p class="first">Delivered when a client has re-entered
|
|
623
|
+
subscriptions when recovering after connecting
|
|
624
|
+
to AMPS.</p>
|
|
625
|
+
<p class="last">This state is delivered when the client has a
|
|
626
|
+
subscription manager set (which is the default
|
|
627
|
+
for an <code class="docutils literal"><span class="pre">HAClient</span></code>). This is the final recovery
|
|
628
|
+
step. An application can submit commands to
|
|
629
|
+
AMPS from the connection state listener
|
|
630
|
+
after receiving this state.</p>
|
|
631
|
+
</td>
|
|
632
|
+
</tr>
|
|
633
|
+
<tr class="row-odd"><td>Disconnected</td>
|
|
634
|
+
<td><p class="first">The client is not connected.</p>
|
|
635
|
+
<p class="last">For an <code class="docutils literal"><span class="pre">HAClient</span></code>, this means that the
|
|
636
|
+
client will attempt to reconnect to AMPS.
|
|
637
|
+
For a <code class="docutils literal"><span class="pre">Client</span></code>, this means that the client
|
|
638
|
+
will invoke the disconnect handler, if one
|
|
639
|
+
is specified.</p>
|
|
640
|
+
</td>
|
|
641
|
+
</tr>
|
|
642
|
+
<tr class="row-even"><td>Shutdown</td>
|
|
643
|
+
<td><p class="first">The client is shut down.</p>
|
|
644
|
+
<p class="last">For an <code class="docutils literal"><span class="pre">HAClient</span></code>, this means that the
|
|
645
|
+
client will no longer attempt to reconnect
|
|
646
|
+
to AMPS. This state is delivered when
|
|
647
|
+
<code class="docutils literal"><span class="pre">close()</span></code> is called on the client or when a
|
|
648
|
+
<code class="docutils literal"><span class="pre">ServerChooser</span></code> tells the <code class="docutils literal"><span class="pre">HAClient</span></code> to
|
|
649
|
+
stop reconnecting to AMPS.</p>
|
|
650
|
+
</td>
|
|
651
|
+
</tr>
|
|
652
|
+
</tbody>
|
|
653
|
+
</table>
|
|
654
|
+
<p><strong>Table 5.1:</strong> <em>ConnectionStateListener values</em></p>
|
|
655
|
+
<p>The enumeration provided for the connection state listener also includes
|
|
656
|
+
a value of <code class="docutils literal"><span class="pre">UNKNOWN</span></code> for use as a default or to represent additional
|
|
657
|
+
states in a custom <code class="docutils literal"><span class="pre">Client</span></code> implementation. The 60East implementations
|
|
658
|
+
of the client do not deliver this state.</p>
|
|
659
|
+
<p>The following table shows examples of the set of states that will be delivered
|
|
660
|
+
during connection, in order, depending on what features
|
|
661
|
+
of the client are set. Notice that, for an instance of the <code class="docutils literal"><span class="pre">Client</span></code> class,
|
|
662
|
+
this table assumes that the application calls both <code class="docutils literal"><span class="pre">connect()</span></code> and
|
|
663
|
+
<code class="docutils literal"><span class="pre">logon()</span></code>. For an <code class="docutils literal"><span class="pre">HAClient</span></code>, this table assumes that the <code class="docutils literal"><span class="pre">HAClient</span></code> is
|
|
664
|
+
using the default <code class="docutils literal"><span class="pre">DisconnectHandler</span></code> for the <code class="docutils literal"><span class="pre">HAClient</span></code>.</p>
|
|
665
|
+
<table border="1" class="docutils">
|
|
666
|
+
<colgroup>
|
|
667
|
+
<col width="31%" />
|
|
668
|
+
<col width="69%" />
|
|
669
|
+
</colgroup>
|
|
670
|
+
<thead valign="bottom">
|
|
671
|
+
<tr class="row-odd"><th class="head">Configuration</th>
|
|
672
|
+
<th class="head">States</th>
|
|
673
|
+
</tr>
|
|
674
|
+
</thead>
|
|
675
|
+
<tbody valign="top">
|
|
676
|
+
<tr class="row-even"><td><p class="first">Subscription Manager</p>
|
|
677
|
+
<p class="last">Publish Store</p>
|
|
678
|
+
</td>
|
|
679
|
+
<td><p class="first">Connected</p>
|
|
680
|
+
<p>LoggedOn</p>
|
|
681
|
+
<p>PublishReplayed</p>
|
|
682
|
+
<p class="last">Resubscribed</p>
|
|
683
|
+
</td>
|
|
684
|
+
</tr>
|
|
685
|
+
<tr class="row-odd"><td><p class="first">Subscription Manager</p>
|
|
686
|
+
<p>Publish Store</p>
|
|
687
|
+
<p class="last">Heartbeat Set</p>
|
|
688
|
+
</td>
|
|
689
|
+
<td><p class="first">Connected</p>
|
|
690
|
+
<p>LoggedOn</p>
|
|
691
|
+
<p>HeartbeatInitiated</p>
|
|
692
|
+
<p>PublishReplayed</p>
|
|
693
|
+
<p class="last">Resubscribed</p>
|
|
694
|
+
</td>
|
|
695
|
+
</tr>
|
|
696
|
+
<tr class="row-even"><td>Subscription Manager</td>
|
|
697
|
+
<td><p class="first">Connected</p>
|
|
698
|
+
<p>LoggedOn</p>
|
|
699
|
+
<p class="last">Resubscribed</p>
|
|
700
|
+
</td>
|
|
701
|
+
</tr>
|
|
702
|
+
<tr class="row-odd"><td><p class="first">Subscription Manager</p>
|
|
703
|
+
<p class="last">Heartbeat Set</p>
|
|
704
|
+
</td>
|
|
705
|
+
<td><p class="first">Connected</p>
|
|
706
|
+
<p>LoggedOn</p>
|
|
707
|
+
<p>HeartbeatInitiated</p>
|
|
708
|
+
<p class="last">Resubscribed</p>
|
|
709
|
+
</td>
|
|
710
|
+
</tr>
|
|
711
|
+
<tr class="row-even"><td><dl class="first last docutils">
|
|
712
|
+
<dt>(Default <code class="docutils literal"><span class="pre">Client</span></code></dt>
|
|
713
|
+
<dd>Configuration)</dd>
|
|
714
|
+
</dl>
|
|
715
|
+
</td>
|
|
716
|
+
<td><p class="first">Connected</p>
|
|
717
|
+
<p class="last">LoggedOn</p>
|
|
718
|
+
</td>
|
|
719
|
+
</tr>
|
|
720
|
+
</tbody>
|
|
721
|
+
</table>
|
|
722
|
+
<p><strong>Table 5.2:</strong> <em>Sequence of states for connection</em></p>
|
|
723
|
+
</div>
|
|
724
|
+
</div>
|
|
725
|
+
|
|
726
|
+
|
|
727
|
+
</div>
|
|
728
|
+
</div>
|
|
729
|
+
</div>
|
|
730
|
+
<div class="clearer"></div>
|
|
731
|
+
</div>
|
|
732
|
+
<div class="footer">
|
|
733
|
+
©2022, 60East Technologies, Inc..
|
|
734
|
+
|
|
735
|
+
|
|
|
736
|
+
Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.3</a>
|
|
737
|
+
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
|
|
738
|
+
|
|
739
|
+
</div>
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
|
|
744
|
+
</body>
|
|
745
|
+
</html>
|