amps-python-client 5.3.4.1__zip → 5.3.4.2__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- amps-python-client-5.3.4.2/PKG-INFO +112 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/.buildinfo +4 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/intro.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/logon.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/publishing.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/removing.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/chapters/utilities.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_sources/index.rst.txt +36 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/ack-messages.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/content-messages.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/intro.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/logon.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/protocol-reference.html +93 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/publishing.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/query-delimiters.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/query-subscribe.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/removing.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/chapters/utilities.html +95 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/genindex.html +97 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/index.html +98 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/objects.inv +6 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/search.html +107 -0
- amps-python-client-5.3.4.2/docs/command-reference/html/searchindex.js +1 -0
- amps-python-client-5.3.4.2/docs/html/.buildinfo +4 -0
- amps-python-client-5.3.4.2/docs/html/code.html +6616 -0
- amps-python-client-5.3.4.2/docs/html/genindex.html +1363 -0
- amps-python-client-5.3.4.2/docs/html/index.html +131 -0
- amps-python-client-5.3.4.2/docs/html/objects.inv +0 -0
- amps-python-client-5.3.4.2/docs/html/py-modindex.html +111 -0
- amps-python-client-5.3.4.2/docs/html/search.html +107 -0
- amps-python-client-5.3.4.2/docs/html/searchindex.js +1 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/deltas.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/error-handling.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/exceptions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/first-program.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/high-availability.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/installing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/introduction.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.2/docs/python/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python/html/.buildinfo +4 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/error-handling.rst.txt +481 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/exceptions.rst.txt +123 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/first-program.rst.txt +168 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/high-availability.rst.txt +879 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/performance-tips.rst.txt +432 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/sow.rst.txt +294 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
- amps-python-client-5.3.4.2/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
- amps-python-client-5.3.4.2/docs/python/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/advanced-topics.html +447 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/cpp-compiler-list.html +92 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/cpp-feature-table.html +156 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/creating-commands.html +2882 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/deltas.html +169 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/error-handling.html +745 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/exceptions.html +266 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/first-program.html +526 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/high-availability.html +1017 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/installing.html +264 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/introduction.html +245 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/moving-from-python-lite.html +118 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/performance-tips.html +499 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/queues.html +352 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/sow.html +383 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/subscriptions.html +535 -0
- amps-python-client-5.3.4.2/docs/python/html/chapters/utilities.html +302 -0
- amps-python-client-5.3.4.2/docs/python/html/genindex.html +351 -0
- amps-python-client-5.3.4.2/docs/python/html/index.html +382 -0
- amps-python-client-5.3.4.2/docs/python/html/objects.inv +0 -0
- amps-python-client-5.3.4.2/docs/python/html/search.html +107 -0
- amps-python-client-5.3.4.2/docs/python/html/searchindex.js +1 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/.buildinfo +4 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/chapters/crankitup.html +271 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/chapters/equipment.html +105 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/genindex.html +97 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/index.html +381 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/objects.inv +0 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/search.html +107 -0
- amps-python-client-5.3.4.2/docs/python-quickstart/html/searchindex.js +1 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/events.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/views.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/environment.pickle +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/doctrees/index.doctree +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/.buildinfo +4 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/acks.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/actions.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/daemon.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/delta.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/distribution.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/events.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/glossary.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/ha.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/intro.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/logging.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/oof.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/operation.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/queues.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/replication.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/securing.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/sow.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/transports.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/txlog.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/usecases.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/utilities.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/chapters/views.rst.txt +8 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_sources/index.rst.txt +62 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/_static/custom.css +161 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/acks.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/actions.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps-statistics.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps_expressions.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/amps_functions.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/auxiliary_modules.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/config-file-shortcuts.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/conflated_topics.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/constructing-fields.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/daemon.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/delta.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/distribution.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/enrichment.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/events.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/file_format_versions.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/glossary.html +92 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/ha.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/installing_and_starting.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/intro.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/logging.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/messageTypes.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/monitoring.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/oof.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/operation.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/pub_sub.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/queues.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/replication.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/securing.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/sow.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/sow_queries.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/spark.html +819 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/transports.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/troubleshooting.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/txlog.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/usecases.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/utilities.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/chapters/views.html +94 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/genindex.html +133 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/index.html +96 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/objects.inv +0 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/search.html +106 -0
- amps-python-client-5.3.4.2/docs/user-guide/html/searchindex.js +1 -0
- amps-python-client-5.3.4.2/include/ampspy_bookmarkstore.hpp +63 -0
- amps-python-client-5.3.4.2/include/ampspy_compat.h +63 -0
- amps-python-client-5.3.4.2/include/ampspy_defs.hpp +181 -0
- amps-python-client-5.3.4.2/include/ampspy_recoverypointadapter.hpp +52 -0
- amps-python-client-5.3.4.2/include/ampspy_shims.hpp +113 -0
- amps-python-client-5.3.4.2/include/ampspy_type_object.hpp +242 -0
- amps-python-client-5.3.4.2/include/ampspy_types.hpp +1139 -0
- amps-python-client-5.3.4.2/include/ampspyver.h +30 -0
- amps-python-client-5.3.4.2/index.html +66 -0
- amps-python-client-5.3.4.2/samples/AMPSConsolePublisher.py +59 -0
- amps-python-client-5.3.4.2/samples/AMPSConsoleSubscriber.py +63 -0
- amps-python-client-5.3.4.2/samples/AMPSFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.2/samples/AMPSFIXShredderSubscriber.py +69 -0
- amps-python-client-5.3.4.2/samples/AMPSNVFIXBuilderPublisher.py +71 -0
- amps-python-client-5.3.4.2/samples/AMPSNVFIXShredderSubscriber.py +67 -0
- amps-python-client-5.3.4.2/samples/AMPSPublishForReplay.py +81 -0
- amps-python-client-5.3.4.2/samples/AMPSQueueConsumer.py +69 -0
- amps-python-client-5.3.4.2/samples/AMPSQueuePublisher.py +59 -0
- amps-python-client-5.3.4.2/samples/AMPSSOWConsolePublisher.py +67 -0
- amps-python-client-5.3.4.2/samples/AMPSSOWConsoleSubscriber.py +77 -0
- amps-python-client-5.3.4.2/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
- amps-python-client-5.3.4.2/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
- amps-python-client-5.3.4.2/samples/AMPSSubscribeForReplay.py +128 -0
- amps-python-client-5.3.4.2/samples/AMPSUpdateForOOF.py +123 -0
- amps-python-client-5.3.4.2/samples/CompositeMessagePublisher.py +84 -0
- amps-python-client-5.3.4.2/samples/CompositeMessageSubscriber.py +87 -0
- amps-python-client-5.3.4.2/samples/RandomServerChooser.py +66 -0
- amps-python-client-5.3.4.2/samples/sample.xml +335 -0
- amps-python-client-5.3.4.2/setup.py +210 -0
- amps-python-client-5.3.4.2/setup_amps.py +94 -0
- amps-python-client-5.3.4.2/src/ampspy_shims.cpp +214 -0
- amps-python-client-5.3.4.2/src/ampspy_type_object.cpp +495 -0
- amps-python-client-5.3.4.2/src/authenticator.cpp +128 -0
- amps-python-client-5.3.4.2/src/bookmarkstore.cpp +246 -0
- amps-python-client-5.3.4.2/src/client.cpp +2648 -0
- amps-python-client-5.3.4.2/src/client_docs.h +956 -0
- amps-python-client-5.3.4.2/src/cmessagehandler.cpp +161 -0
- amps-python-client-5.3.4.2/src/command.cpp +164 -0
- amps-python-client-5.3.4.2/src/command_docs.h +269 -0
- amps-python-client-5.3.4.2/src/compositemessagebuilder.cpp +113 -0
- amps-python-client-5.3.4.2/src/compositemessageparser.cpp +151 -0
- amps-python-client-5.3.4.2/src/conflatingrecoverypointadapter.cpp +197 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/BlockPublishStore.hpp +2053 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/BlockStore.hpp +677 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/BookmarkStore.hpp +542 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/Buffer.hpp +214 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/Field.hpp +719 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/HAClient.hpp +370 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/HAClientImpl.hpp +460 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/LoggedBookmarkStore.hpp +1256 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MMapStoreBuffer.hpp +290 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryBookmarkStore.hpp +1628 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MemoryStoreBuffer.hpp +244 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/Message.hpp +1819 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/MessageRouter.hpp +647 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/PublishStore.hpp +158 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +494 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ServerChooser.hpp +145 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/amps.h +803 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/amps_impl.h +208 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/amps_ssl.h +78 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ampscrc.hpp +210 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ampsplusplus.hpp +8850 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ampsuri.h +84 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ampsver.h +41 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/ampsver.h.in +41 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/constants.hpp +194 -0
- amps-python-client-5.3.4.2/src/cpp/include/amps/util.hpp +1722 -0
- amps-python-client-5.3.4.2/src/cpp/src/amps_protocol.c +693 -0
- amps-python-client-5.3.4.2/src/cpp/src/amps_ssl.c +489 -0
- amps-python-client-5.3.4.2/src/cpp/src/atfork.c +451 -0
- amps-python-client-5.3.4.2/src/cpp/src/client.c +498 -0
- amps-python-client-5.3.4.2/src/cpp/src/message.c +837 -0
- amps-python-client-5.3.4.2/src/cpp/src/message_generated.h +611 -0
- amps-python-client-5.3.4.2/src/cpp/src/tcp.c +1517 -0
- amps-python-client-5.3.4.2/src/cpp/src/tcps.c +1885 -0
- amps-python-client-5.3.4.2/src/cpp/src/transports.c +129 -0
- amps-python-client-5.3.4.2/src/cpp/src/unix.c +1002 -0
- amps-python-client-5.3.4.2/src/cpp/src/uri.c +301 -0
- amps-python-client-5.3.4.2/src/exponentialdelaystrategy.cpp +137 -0
- amps-python-client-5.3.4.2/src/failedwritehandler.cpp +116 -0
- amps-python-client-5.3.4.2/src/fixbuilder.cpp +146 -0
- amps-python-client-5.3.4.2/src/fixeddelaystrategy.cpp +114 -0
- amps-python-client-5.3.4.2/src/fixshredder.cpp +105 -0
- amps-python-client-5.3.4.2/src/fixshredder_docs.h +38 -0
- amps-python-client-5.3.4.2/src/haclient.cpp +691 -0
- amps-python-client-5.3.4.2/src/haclient_docs.h +186 -0
- amps-python-client-5.3.4.2/src/hybridpublishstore.cpp +137 -0
- amps-python-client-5.3.4.2/src/hybridpublishstore_docs.h +31 -0
- amps-python-client-5.3.4.2/src/memorybookmarkstore.cpp +373 -0
- amps-python-client-5.3.4.2/src/memorybookmarkstore_docs.h +39 -0
- amps-python-client-5.3.4.2/src/memorypublishstore.cpp +160 -0
- amps-python-client-5.3.4.2/src/memorypublishstore_docs.h +32 -0
- amps-python-client-5.3.4.2/src/message.cpp +765 -0
- amps-python-client-5.3.4.2/src/message_docs.h +306 -0
- amps-python-client-5.3.4.2/src/messagestream.cpp +630 -0
- amps-python-client-5.3.4.2/src/messagestream_docs.h +45 -0
- amps-python-client-5.3.4.2/src/mmapbookmarkstore.cpp +422 -0
- amps-python-client-5.3.4.2/src/nvfixbuilder.cpp +160 -0
- amps-python-client-5.3.4.2/src/nvfixbuilder_docs.h +35 -0
- amps-python-client-5.3.4.2/src/nvfixshredder.cpp +99 -0
- amps-python-client-5.3.4.2/src/nvfixshredder_docs.h +43 -0
- amps-python-client-5.3.4.2/src/publishstore.cpp +183 -0
- amps-python-client-5.3.4.2/src/raw_wrapper.cpp +765 -0
- amps-python-client-5.3.4.2/src/reason.cpp +71 -0
- amps-python-client-5.3.4.2/src/recoverypoint.cpp +135 -0
- amps-python-client-5.3.4.2/src/recoverypointadapter.cpp +171 -0
- amps-python-client-5.3.4.2/src/ringbookmarkstore.cpp +360 -0
- amps-python-client-5.3.4.2/src/serverchooser.cpp +245 -0
- amps-python-client-5.3.4.2/src/serverchooser_docs.h +41 -0
- amps-python-client-5.3.4.2/src/sowrecoverypointadapter.cpp +248 -0
- amps-python-client-5.3.4.2/src/store.cpp +62 -0
- amps-python-client-5.3.4.2/src/versioninfo.cpp +175 -0
- 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.2}/HISTORY +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/LICENSE +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/README.md +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/command-reference/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/command-reference/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/command-reference/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_sources/code.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/classic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/default.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/sidebar.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/caution.png +0 -0
- {amps-python-client-5.3.4.1/docs/command-reference → amps-python-client-5.3.4.2/docs/python}/html/_images/caution.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/connection_string.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/important.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/important.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/tip.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/tip.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_images/warning.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/python/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/jquery-3.1.0.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/underscore-1.3.1.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/python-quickstart/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/python-quickstart/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/python-quickstart/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/resources/custom.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/resources/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/alabaster.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/basic.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment-bright.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment-close.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/comment.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/doctools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/down-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/down.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/file.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/flag_logo.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/flag_logo.svg +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/user-guide/html/_static/jquery.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/minus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/plus.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/pygments.css +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/searchtools.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/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.2}/docs/user-guide/html/_static/underscore.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/up-pressed.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/up.png +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/docs/user-guide/html/_static/websupport.js +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/include/amps/amps_generated.h +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/src/amps_protocol_generated.h +0 -0
- {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.2}/src/cpp/src/makefile +0 -0
|
@@ -1,677 +0,0 @@
|
|
|
1
|
-
////////////////////////////////////////////////////////////////////////////
|
|
2
|
-
//
|
|
3
|
-
// Copyright (c) 2010-2023 60East Technologies Inc., All Rights Reserved.
|
|
4
|
-
//
|
|
5
|
-
// This computer software is owned by 60East Technologies Inc. and is
|
|
6
|
-
// protected by U.S. copyright laws and other laws and by international
|
|
7
|
-
// treaties. This computer software is furnished by 60East Technologies
|
|
8
|
-
// Inc. pursuant to a written license agreement and may be used, copied,
|
|
9
|
-
// transmitted, and stored only in accordance with the terms of such
|
|
10
|
-
// license agreement and with the inclusion of the above copyright notice.
|
|
11
|
-
// This computer software or any other copies thereof may not be provided
|
|
12
|
-
// or otherwise made available to any other person.
|
|
13
|
-
//
|
|
14
|
-
// U.S. Government Restricted Rights. This computer software: (a) was
|
|
15
|
-
// developed at private expense and is in all respects the proprietary
|
|
16
|
-
// information of 60East Technologies Inc.; (b) was not developed with
|
|
17
|
-
// government funds; (c) is a trade secret of 60East Technologies Inc.
|
|
18
|
-
// for all purposes of the Freedom of Information Act; and (d) is a
|
|
19
|
-
// commercial item and thus, pursuant to Section 12.212 of the Federal
|
|
20
|
-
// Acquisition Regulations (FAR) and DFAR Supplement Section 227.7202,
|
|
21
|
-
// Government's use, duplication or disclosure of the computer software
|
|
22
|
-
// is subject to the restrictions set forth by 60East Technologies Inc..
|
|
23
|
-
//
|
|
24
|
-
////////////////////////////////////////////////////////////////////////////
|
|
25
|
-
|
|
26
|
-
#ifndef _BLOCKSTORE_H_
|
|
27
|
-
#define _BLOCKSTORE_H_
|
|
28
|
-
#include <amps/ampsplusplus.hpp>
|
|
29
|
-
#include <amps/Buffer.hpp>
|
|
30
|
-
#include <sstream>
|
|
31
|
-
#include <string>
|
|
32
|
-
#include <map>
|
|
33
|
-
#include <amps/ampscrc.hpp>
|
|
34
|
-
#if __cplusplus >= 201103L || _MSC_VER >= 1900
|
|
35
|
-
#include <atomic>
|
|
36
|
-
#endif
|
|
37
|
-
|
|
38
|
-
#ifdef _WIN32
|
|
39
|
-
#include <intrin.h>
|
|
40
|
-
#include <sys/timeb.h>
|
|
41
|
-
#else
|
|
42
|
-
#include <sys/time.h>
|
|
43
|
-
#if AMPS_SSE_42
|
|
44
|
-
#include <cpuid.h>
|
|
45
|
-
#endif
|
|
46
|
-
#endif
|
|
47
|
-
#include <iostream>
|
|
48
|
-
|
|
49
|
-
/// \file BlockStore.hpp
|
|
50
|
-
/// \brief Provides AMPS::BlockStore, a class for storing Blocks of a
|
|
51
|
-
/// fixed size into a Buffer implementation. This is used as a base class
|
|
52
|
-
/// for bookmark and publish stores in the AMPS C++ client.
|
|
53
|
-
|
|
54
|
-
namespace AMPS
|
|
55
|
-
{
|
|
56
|
-
///
|
|
57
|
-
/// Used as a base class for other stores in the AMPS C++ client, this
|
|
58
|
-
/// is an implementation that breaks a provided Buffer into
|
|
59
|
-
/// uniform blocks for storing messages and tracks used and unused blocks.
|
|
60
|
-
///
|
|
61
|
-
class BlockStore
|
|
62
|
-
{
|
|
63
|
-
public:
|
|
64
|
-
///
|
|
65
|
-
/// Default constant values for BlockStore
|
|
66
|
-
enum Constants : amps_uint32_t
|
|
67
|
-
{
|
|
68
|
-
DEFAULT_BLOCK_HEADER_SIZE = 32,
|
|
69
|
-
DEFAULT_BLOCKS_PER_REALLOC = 1000,
|
|
70
|
-
DEFAULT_BLOCK_SIZE = 2048
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
///
|
|
74
|
-
/// Used as metadata for each block in a Buffer.
|
|
75
|
-
class Block
|
|
76
|
-
{
|
|
77
|
-
public:
|
|
78
|
-
// The offset of the Block's data in the buffer.
|
|
79
|
-
size_t _offset;
|
|
80
|
-
// The sequence number associated with the Block.
|
|
81
|
-
amps_uint64_t _sequence;
|
|
82
|
-
// The next Block in the chain when data is in multiple Blocks.
|
|
83
|
-
Block* _nextInChain;
|
|
84
|
-
// The next Block in list of available or free Blocks.
|
|
85
|
-
Block* _nextInList;
|
|
86
|
-
|
|
87
|
-
// Create Block with given offset
|
|
88
|
-
Block(size_t offset_) : _offset(offset_), _sequence(0)
|
|
89
|
-
, _nextInChain(0), _nextInList(0)
|
|
90
|
-
{ ; }
|
|
91
|
-
|
|
92
|
-
// Create Block with _nextInList at an address one Block farther
|
|
93
|
-
// than self. Convenient for creating arrays of Blocks.
|
|
94
|
-
Block() : _offset(0), _sequence(0)
|
|
95
|
-
, _nextInChain(0), _nextInList((Block*)(this + 1))
|
|
96
|
-
{ ; }
|
|
97
|
-
|
|
98
|
-
// Init Block to an offset at index_ * blockSize_
|
|
99
|
-
Block* init(size_t index_, amps_uint32_t blockSize_)
|
|
100
|
-
{
|
|
101
|
-
_offset = index_ * blockSize_;
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Set Block to given offset and return pointer to self
|
|
106
|
-
Block* setOffset(size_t offset_)
|
|
107
|
-
{
|
|
108
|
-
_offset = offset_;
|
|
109
|
-
return this;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
private:
|
|
115
|
-
// Typedefs
|
|
116
|
-
typedef Lock<Mutex> BufferLock;
|
|
117
|
-
typedef Unlock<Mutex> BufferUnlock;
|
|
118
|
-
typedef bool (*ResizeHandler)(size_t, void*);
|
|
119
|
-
typedef std::vector<Block*> BlockList;
|
|
120
|
-
|
|
121
|
-
public:
|
|
122
|
-
/// Create a BlockStore using buffer_ and default block size, that grows by
|
|
123
|
-
/// blocksPerRealloc_ blocks when it must grow.
|
|
124
|
-
/// The initialization or recovery from the buffer_ is handled outside of
|
|
125
|
-
/// this class by either calling init() to start new, or by recovering
|
|
126
|
-
/// the Blocks and using setFreeList(), setUsedList(), setEndOfUsedList()
|
|
127
|
-
/// and addBlocks().
|
|
128
|
-
/// \param buffer_ Pointer to an allocated Buffer implementation that
|
|
129
|
-
/// will be used for storage. The store will delete buffer_ when it is
|
|
130
|
-
/// destructed.
|
|
131
|
-
/// \param blocksPerRealloc_ Number of blocks to add to when growing
|
|
132
|
-
/// the size of the Buffer.
|
|
133
|
-
/// \param blockSize_ The size to use for each block in the store.
|
|
134
|
-
/// \param blockHeaderSize_ The size of the header section of each block,
|
|
135
|
-
/// which is also the only memory that needs to be cleared in a block
|
|
136
|
-
/// for it to skipped during recovery and be reusable.
|
|
137
|
-
BlockStore(Buffer* buffer_,
|
|
138
|
-
amps_uint32_t blocksPerRealloc_ = DEFAULT_BLOCKS_PER_REALLOC,
|
|
139
|
-
amps_uint32_t blockHeaderSize_ = DEFAULT_BLOCK_HEADER_SIZE,
|
|
140
|
-
amps_uint32_t blockSize_ = DEFAULT_BLOCK_SIZE)
|
|
141
|
-
: _buffer(buffer_), _freeList(0), _usedList(0)
|
|
142
|
-
, _endOfUsedList(0), _blocksPerRealloc(blocksPerRealloc_)
|
|
143
|
-
, _blockSize(blockSize_), _blockHeaderSize(blockHeaderSize_)
|
|
144
|
-
, _blocksAvailable(0), _resizeHandler(0), _resizeUserData(0)
|
|
145
|
-
, _resizing(false)
|
|
146
|
-
{
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
///
|
|
150
|
-
/// Destructor that cleans up the buffer and other associated memory
|
|
151
|
-
~BlockStore()
|
|
152
|
-
{
|
|
153
|
-
for (BlockList::iterator i = _blockList.begin();
|
|
154
|
-
i != _blockList.end(); ++i)
|
|
155
|
-
{
|
|
156
|
-
delete[] *i;
|
|
157
|
-
}
|
|
158
|
-
delete _buffer;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
///
|
|
162
|
-
/// Get the size of each Block, as set in the constructor.
|
|
163
|
-
amps_uint32_t getBlockSize() const
|
|
164
|
-
{
|
|
165
|
-
return _blockSize;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
///
|
|
169
|
-
/// Get the size of a header within each Block, as set in the constructor.
|
|
170
|
-
amps_uint32_t getBlockHeaderSize() const
|
|
171
|
-
{
|
|
172
|
-
return _blockHeaderSize;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
///
|
|
176
|
-
/// Acquire the lock for this object. Used by RAII templates. The lock
|
|
177
|
-
/// should be acquired before calling any other functions below and held
|
|
178
|
-
/// while using the Buffer* returned by getBuffer().
|
|
179
|
-
void acquireRead() const
|
|
180
|
-
{
|
|
181
|
-
_lock.acquireRead();
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
///
|
|
185
|
-
/// Release the lock for this object. Used by RAII templates.
|
|
186
|
-
void releaseRead() const
|
|
187
|
-
{
|
|
188
|
-
_lock.releaseRead();
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
///
|
|
192
|
-
/// Signal lock waiters.
|
|
193
|
-
void signalAll()
|
|
194
|
-
{
|
|
195
|
-
_lock.signalAll();
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
///
|
|
199
|
-
/// Wait for a signal.
|
|
200
|
-
void wait()
|
|
201
|
-
{
|
|
202
|
-
_lock.wait();
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
///
|
|
206
|
-
/// Wait timeout_ ms for a signal.
|
|
207
|
-
/// \param timeout_ The maximum time to wait in milliseconds.
|
|
208
|
-
/// \return true for signal received, false for timeout.
|
|
209
|
-
bool wait(long timeout_)
|
|
210
|
-
{
|
|
211
|
-
return _lock.wait(timeout_);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
///
|
|
215
|
-
/// Set a resize handler that is called with the new total size of the
|
|
216
|
-
/// Buffer. The resize handler can return true to allow the resize or
|
|
217
|
-
/// false to prevent it. If it returns false, some action should have been
|
|
218
|
-
/// taken to create room or it will be called repeatedly in a loop.
|
|
219
|
-
/// \param resizeHandler_ A ResizeHandler function to be invoked for every
|
|
220
|
-
/// resize attempt.
|
|
221
|
-
/// \param userData_ A pointer to any data that should be passed to the
|
|
222
|
-
/// ResizeHandler when invoked.
|
|
223
|
-
void setResizeHandler(ResizeHandler resizeHandler_, void* userData_)
|
|
224
|
-
{
|
|
225
|
-
_resizeHandler = resizeHandler_;
|
|
226
|
-
_resizeUserData = userData_;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/// Get the first used block in the store.
|
|
230
|
-
/// \return A pointer to the first used block, which may be null if the
|
|
231
|
-
/// store is currently empty.
|
|
232
|
-
// Lock should already be acquired
|
|
233
|
-
Block* front() const
|
|
234
|
-
{
|
|
235
|
-
return _usedList;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/// Get the last used block in the store.
|
|
239
|
-
/// \return A pointer to the last used block, which may be null if the
|
|
240
|
-
/// store is empty, or the same as front() if there is only one block
|
|
241
|
-
/// in use in the store.
|
|
242
|
-
// Lock should already be acquired
|
|
243
|
-
Block* back() const
|
|
244
|
-
{
|
|
245
|
-
return _endOfUsedList;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/// Allow containing classes to initialize the free list in recovery.
|
|
249
|
-
/// \param block_ A pointer the first Block of the free list.
|
|
250
|
-
/// \param freeCount_ The number of free blocks in the chain.
|
|
251
|
-
// Lock should already be acquired
|
|
252
|
-
void setFreeList(Block* block_, amps_uint32_t freeCount_)
|
|
253
|
-
{
|
|
254
|
-
_freeList = block_;
|
|
255
|
-
_blocksAvailable = freeCount_;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/// Allow containing classes to initialize the used list in recovery.
|
|
259
|
-
/// \param block_ A pointer the first Block of the used list.
|
|
260
|
-
// Lock should already be acquired
|
|
261
|
-
void setUsedList(Block* block_)
|
|
262
|
-
{
|
|
263
|
-
_usedList = block_;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/// Allow containing classes to initialize the used list in recovery.
|
|
267
|
-
/// \param block_ A pointer to the last Block of the used list.
|
|
268
|
-
// Lock should already be acquired
|
|
269
|
-
void setEndOfUsedList(Block* block_)
|
|
270
|
-
{
|
|
271
|
-
_endOfUsedList = block_;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/// Allow users to create Block arrays during recovery that are
|
|
275
|
-
/// tracked for cleanup here with all other Block arrays.
|
|
276
|
-
/// \param blockArray_ A pointer the beginning of the allocated array.
|
|
277
|
-
// Lock should already be acquired
|
|
278
|
-
void addBlocks(Block* blockArray_)
|
|
279
|
-
{
|
|
280
|
-
_blockList.push_back(blockArray_);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
/// Get the requested number of Blocks as a chain from the free list.
|
|
284
|
-
/// \param numBlocksInChain_ The number of blocks needed.
|
|
285
|
-
/// \return A pointer to the first Block in the chain. Remaining Blocks
|
|
286
|
-
/// are found at nextInChain.
|
|
287
|
-
// Lock should already be acquired
|
|
288
|
-
Block* get(amps_uint32_t numBlocksInChain_)
|
|
289
|
-
{
|
|
290
|
-
// Check that we have enough blocks
|
|
291
|
-
// Do this in a loop since resize can possibly return without resizing
|
|
292
|
-
// and may still leave us needing more space.
|
|
293
|
-
while (_blocksAvailable < numBlocksInChain_)
|
|
294
|
-
{
|
|
295
|
-
// Resize by required multiple of blockPerRealloc
|
|
296
|
-
unsigned int blocksNeeded = numBlocksInChain_ - _blocksAvailable;
|
|
297
|
-
amps_uint32_t addedBlocks = (blocksNeeded / _blocksPerRealloc + 1)
|
|
298
|
-
* _blocksPerRealloc;
|
|
299
|
-
size_t size = _buffer->getSize() + (addedBlocks * _blockSize);
|
|
300
|
-
resize(size);
|
|
301
|
-
}
|
|
302
|
-
// Return first free block with others as _nextInChain
|
|
303
|
-
Block* first = 0;
|
|
304
|
-
Block* last = 0;
|
|
305
|
-
Block* next = 0;
|
|
306
|
-
for (unsigned int i = 0; i < numBlocksInChain_; ++i)
|
|
307
|
-
{
|
|
308
|
-
// Take from free list and advance
|
|
309
|
-
next = _freeList;
|
|
310
|
-
_freeList = _freeList->_nextInList;
|
|
311
|
-
next->_nextInList = 0;
|
|
312
|
-
if (!first)
|
|
313
|
-
{
|
|
314
|
-
// First, set it up
|
|
315
|
-
first = next;
|
|
316
|
-
last = next;
|
|
317
|
-
}
|
|
318
|
-
else
|
|
319
|
-
{
|
|
320
|
-
// Not first, add it to chain
|
|
321
|
-
last->_nextInChain = next;
|
|
322
|
-
last = next;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
assert(first);
|
|
326
|
-
// Set _usedList or add it to the end of the used list
|
|
327
|
-
if (!_usedList)
|
|
328
|
-
{
|
|
329
|
-
_usedList = first;
|
|
330
|
-
}
|
|
331
|
-
else
|
|
332
|
-
{
|
|
333
|
-
_endOfUsedList->_nextInList = first;
|
|
334
|
-
}
|
|
335
|
-
_endOfUsedList = first;
|
|
336
|
-
_blocksAvailable -= numBlocksInChain_;
|
|
337
|
-
return first;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
/// Return the given chain of Blocks to the free list for reuse.
|
|
341
|
-
/// Used when returning a Block out of order.
|
|
342
|
-
/// \param block_ The first Block in the chain.
|
|
343
|
-
// Lock should already be acquired
|
|
344
|
-
void put(Block* block_)
|
|
345
|
-
{
|
|
346
|
-
assert(_usedList);
|
|
347
|
-
assert(_endOfUsedList);
|
|
348
|
-
// Remove from used list
|
|
349
|
-
if (_usedList == block_)
|
|
350
|
-
{
|
|
351
|
-
// Easy
|
|
352
|
-
_usedList = _usedList->_nextInList;
|
|
353
|
-
if (!_usedList)
|
|
354
|
-
{
|
|
355
|
-
_endOfUsedList = 0;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
else
|
|
359
|
-
{
|
|
360
|
-
// Search and remove the block
|
|
361
|
-
Block* used = _usedList;
|
|
362
|
-
while (used)
|
|
363
|
-
{
|
|
364
|
-
if (used->_nextInList == block_)
|
|
365
|
-
{
|
|
366
|
-
used->_nextInList = block_->_nextInList;
|
|
367
|
-
break;
|
|
368
|
-
}
|
|
369
|
-
used = used->_nextInList;
|
|
370
|
-
if (!_usedList) // -V1051
|
|
371
|
-
{
|
|
372
|
-
_endOfUsedList = 0;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
// Add to free list
|
|
377
|
-
_flattenToFreeList(block_);
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/// Return all Blocks with sequence <= sequence_ for reuse.
|
|
381
|
-
/// \param sequence_ The highest sequence number to free.
|
|
382
|
-
/// \return The number of items removed.
|
|
383
|
-
// Lock should already be acquired
|
|
384
|
-
AMPS_ATOMIC_BASE_TYPE put(amps_uint64_t sequence_)
|
|
385
|
-
{
|
|
386
|
-
assert(_usedList);
|
|
387
|
-
assert(_endOfUsedList);
|
|
388
|
-
Block* used = _usedList;
|
|
389
|
-
AMPS_ATOMIC_BASE_TYPE removalCount = 0;
|
|
390
|
-
while (used && used->_sequence <= sequence_)
|
|
391
|
-
{
|
|
392
|
-
Block* next = used->_nextInList;
|
|
393
|
-
// Add to free list
|
|
394
|
-
_flattenToFreeList(used);
|
|
395
|
-
used = next;
|
|
396
|
-
++removalCount;
|
|
397
|
-
}
|
|
398
|
-
_usedList = used;
|
|
399
|
-
if (!used)
|
|
400
|
-
{
|
|
401
|
-
_endOfUsedList = 0;
|
|
402
|
-
}
|
|
403
|
-
return removalCount;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
/// Return all Blocks starting with the given Block to the free list.
|
|
407
|
-
/// Used if corruption was detected or to remove the end of what's stored.
|
|
408
|
-
/// \param block_ The beginning of list of Blocks to return.
|
|
409
|
-
// Lock should already be acquired
|
|
410
|
-
void putAll(Block* block_)
|
|
411
|
-
{
|
|
412
|
-
// Remove from used list
|
|
413
|
-
Block* newEndOfUsedList = 0;
|
|
414
|
-
for (Block* used = _usedList; used; used = used->_nextInList)
|
|
415
|
-
{
|
|
416
|
-
if (used == block_)
|
|
417
|
-
{
|
|
418
|
-
if (newEndOfUsedList)
|
|
419
|
-
{
|
|
420
|
-
newEndOfUsedList->_nextInList = 0;
|
|
421
|
-
}
|
|
422
|
-
else
|
|
423
|
-
{
|
|
424
|
-
_usedList = 0;
|
|
425
|
-
}
|
|
426
|
-
_endOfUsedList = newEndOfUsedList;
|
|
427
|
-
}
|
|
428
|
-
newEndOfUsedList = used;
|
|
429
|
-
}
|
|
430
|
-
// Add all remaining to free list
|
|
431
|
-
Block* next = 0;
|
|
432
|
-
for (Block* block = block_; block; block = next)
|
|
433
|
-
{
|
|
434
|
-
next = block->_nextInList;
|
|
435
|
-
_flattenToFreeList(block);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
/// Initialize, assuming that _buffer has no existing information. Divide
|
|
440
|
-
/// the _buffer in Blocks and put them all into the free list.
|
|
441
|
-
// Lock should already be held
|
|
442
|
-
void init()
|
|
443
|
-
{
|
|
444
|
-
size_t startSize = _buffer->getSize();
|
|
445
|
-
if (!startSize)
|
|
446
|
-
{
|
|
447
|
-
resize(getDefaultResizeSize());
|
|
448
|
-
startSize = _buffer->getSize();
|
|
449
|
-
}
|
|
450
|
-
// How many blocks are we resizing
|
|
451
|
-
amps_uint32_t numBlocks = (amps_uint32_t)(startSize) / getBlockSize();
|
|
452
|
-
_freeList = new Block[numBlocks];
|
|
453
|
-
_blockList.push_back(_freeList);
|
|
454
|
-
for (size_t i = 0; i < numBlocks; ++i)
|
|
455
|
-
{
|
|
456
|
-
_freeList[i].init(i, getBlockSize());
|
|
457
|
-
}
|
|
458
|
-
_freeList[numBlocks - 1]._nextInList = 0;
|
|
459
|
-
_blocksAvailable += numBlocks;
|
|
460
|
-
assert(_freeList);
|
|
461
|
-
assert(_blocksAvailable);
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
/// Return the default number of bytes for each resize.
|
|
465
|
-
/// \return The number of bytes by which the store resizes itself.
|
|
466
|
-
size_t getDefaultResizeSize() const
|
|
467
|
-
{
|
|
468
|
-
return _blocksPerRealloc * _blockSize;
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
/// Return the default number of blocks for each resize.
|
|
472
|
-
/// \return The number of blocks by which the store resizes itself.
|
|
473
|
-
amps_uint32_t getDefaultResizeBlocks() const
|
|
474
|
-
{
|
|
475
|
-
return _blocksPerRealloc;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
/// Resize the buffer to the requested size, returning all new space.
|
|
479
|
-
/// This is used during recovery when additional space is needed that
|
|
480
|
-
/// isn't added immediately to the internal accounting. It's also used
|
|
481
|
-
/// by the normal resize function, which takes care of the accounting.
|
|
482
|
-
/// \param size_ The new size for the _buffer.
|
|
483
|
-
/// \param pNewBlocks_ A pointer where the number of new blocks created
|
|
484
|
-
/// will be stored for the calling function.
|
|
485
|
-
// Lock should already be held
|
|
486
|
-
Block* resizeBuffer(size_t size_, amps_uint32_t* pNewBlocks_)
|
|
487
|
-
{
|
|
488
|
-
Block* freeList = 0;
|
|
489
|
-
while (_resizing)
|
|
490
|
-
{
|
|
491
|
-
if (_buffer->getSize() >= size_)
|
|
492
|
-
{
|
|
493
|
-
return freeList;
|
|
494
|
-
}
|
|
495
|
-
if (!_lock.wait(1000))
|
|
496
|
-
{
|
|
497
|
-
amps_invoke_waiting_function();
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
FlagFlip flip(&_resizing);
|
|
501
|
-
bool okToResize = false;
|
|
502
|
-
if (true)
|
|
503
|
-
{
|
|
504
|
-
BufferUnlock u(_lock);
|
|
505
|
-
// Don't do anything if resizeHandler says no
|
|
506
|
-
okToResize = _canResize(size_);
|
|
507
|
-
}
|
|
508
|
-
if (!okToResize)
|
|
509
|
-
{
|
|
510
|
-
return freeList;
|
|
511
|
-
}
|
|
512
|
-
try
|
|
513
|
-
{
|
|
514
|
-
_lock.signalAll();
|
|
515
|
-
size_t oldSize = _buffer->getSize();
|
|
516
|
-
amps_uint32_t oldBlocks = (amps_uint32_t)(oldSize / getBlockSize());
|
|
517
|
-
if (oldSize >= size_)
|
|
518
|
-
{
|
|
519
|
-
*pNewBlocks_ = 0;
|
|
520
|
-
return freeList;
|
|
521
|
-
}
|
|
522
|
-
_buffer->setSize(size_);
|
|
523
|
-
_buffer->zero(oldSize, size_ - oldSize);
|
|
524
|
-
// How many blocks are we resizing
|
|
525
|
-
*pNewBlocks_ = (amps_uint32_t)((size_ - oldSize) / getBlockSize());
|
|
526
|
-
freeList = new Block[*pNewBlocks_];
|
|
527
|
-
for (size_t i = 0; i < *pNewBlocks_; ++i)
|
|
528
|
-
{
|
|
529
|
-
freeList[i].init(oldBlocks + i, getBlockSize());
|
|
530
|
-
}
|
|
531
|
-
freeList[*pNewBlocks_ - 1]._nextInList = 0;
|
|
532
|
-
}
|
|
533
|
-
#ifdef _WIN32
|
|
534
|
-
catch (const std::bad_alloc&)
|
|
535
|
-
#else
|
|
536
|
-
catch (const std::bad_alloc& e)
|
|
537
|
-
#endif
|
|
538
|
-
{
|
|
539
|
-
std::ostringstream os;
|
|
540
|
-
os << "BlockStore failed to allocate " << size_
|
|
541
|
-
<< " bytes for resize of store from " << _buffer->getSize()
|
|
542
|
-
<< " bytes.";
|
|
543
|
-
throw StoreException(os.str());
|
|
544
|
-
}
|
|
545
|
-
return freeList;
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
/// Resize the buffer to the requested size, adding all new space as
|
|
549
|
-
/// unused Blocks for the free list.
|
|
550
|
-
/// \param size_ The new size for the _buffer.
|
|
551
|
-
// Lock should already be held
|
|
552
|
-
void resize(size_t size_)
|
|
553
|
-
{
|
|
554
|
-
amps_uint32_t newBlocks = 0;
|
|
555
|
-
Block* addedBlockList = resizeBuffer(size_, &newBlocks);
|
|
556
|
-
if (!addedBlockList || !newBlocks)
|
|
557
|
-
{
|
|
558
|
-
// Maybe we didn't have to allocate in this thread
|
|
559
|
-
return;
|
|
560
|
-
}
|
|
561
|
-
_blockList.push_back(addedBlockList);
|
|
562
|
-
addedBlockList[newBlocks - 1]._nextInList = _freeList;
|
|
563
|
-
_freeList = addedBlockList;
|
|
564
|
-
_blocksAvailable += newBlocks;
|
|
565
|
-
assert(_blocksAvailable);
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
/// Set the size to use for all Blocks. This should only be called before
|
|
569
|
-
/// any Blocks have been created. Returns old Block size.
|
|
570
|
-
// Lock should be held, no blocks should be used or allocated
|
|
571
|
-
amps_uint32_t setBlockSize(amps_uint32_t blockSize_)
|
|
572
|
-
{
|
|
573
|
-
if (_usedList || _freeList)
|
|
574
|
-
{
|
|
575
|
-
return 0;
|
|
576
|
-
}
|
|
577
|
-
amps_uint32_t oldSize = _blockSize;
|
|
578
|
-
_blockSize = blockSize_;
|
|
579
|
-
return oldSize;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
/// Set the size to use for the header for all Blocks. This should only be
|
|
583
|
-
/// called before any Blocks have been created. Returns the old Block
|
|
584
|
-
/// header size.
|
|
585
|
-
// Lock should be held, no blocks should be used or allocated
|
|
586
|
-
amps_uint32_t setBlockHeaderSize(amps_uint32_t blockHeaderSize_)
|
|
587
|
-
{
|
|
588
|
-
if (_usedList || _freeList)
|
|
589
|
-
{
|
|
590
|
-
return 0;
|
|
591
|
-
}
|
|
592
|
-
amps_uint32_t oldSize = _blockHeaderSize;
|
|
593
|
-
_blockHeaderSize = blockHeaderSize_;
|
|
594
|
-
return oldSize;
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
/// Return the buffer underlying the store for direct write/read.
|
|
598
|
-
/// \return The wrapped buffer.
|
|
599
|
-
// Lock should already be held
|
|
600
|
-
Buffer* getBuffer()
|
|
601
|
-
{
|
|
602
|
-
return _buffer;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
private:
|
|
606
|
-
/// Checks if resize is allowed.
|
|
607
|
-
bool _canResize(size_t requestedSize_)
|
|
608
|
-
{
|
|
609
|
-
if (_resizeHandler)
|
|
610
|
-
{
|
|
611
|
-
return _resizeHandler(requestedSize_, _resizeUserData);
|
|
612
|
-
}
|
|
613
|
-
else
|
|
614
|
-
{
|
|
615
|
-
return true;
|
|
616
|
-
}
|
|
617
|
-
}
|
|
618
|
-
|
|
619
|
-
// Lock should already be acquired
|
|
620
|
-
void _flattenToFreeList(Block* block_)
|
|
621
|
-
{
|
|
622
|
-
// Flatten chain to front of free list
|
|
623
|
-
Block* current = block_;
|
|
624
|
-
while (current)
|
|
625
|
-
{
|
|
626
|
-
Block* chain = current->_nextInChain;
|
|
627
|
-
// Clear the header
|
|
628
|
-
_buffer->zero(current->_offset, _blockHeaderSize);
|
|
629
|
-
// Prepend to the free list and clear other values
|
|
630
|
-
current->_nextInList = _freeList;
|
|
631
|
-
_freeList = current;
|
|
632
|
-
++_blocksAvailable;
|
|
633
|
-
current->_sequence = (amps_uint64_t)0;
|
|
634
|
-
current->_nextInChain = 0;
|
|
635
|
-
current = chain;
|
|
636
|
-
}
|
|
637
|
-
assert(_freeList);
|
|
638
|
-
assert(_blocksAvailable);
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
// Member variables
|
|
642
|
-
// Buffer to use for storage
|
|
643
|
-
Buffer* _buffer;
|
|
644
|
-
|
|
645
|
-
// The Block accounting
|
|
646
|
-
Block* _freeList;
|
|
647
|
-
Block* _usedList;
|
|
648
|
-
Block* _endOfUsedList;
|
|
649
|
-
// How much to resize buffer when needed
|
|
650
|
-
amps_uint32_t _blocksPerRealloc;
|
|
651
|
-
// How big is each Block, and what part is header
|
|
652
|
-
amps_uint32_t _blockSize;
|
|
653
|
-
amps_uint32_t _blockHeaderSize;
|
|
654
|
-
// How many blocks are free
|
|
655
|
-
amps_uint32_t _blocksAvailable;
|
|
656
|
-
// ResizeHandler to call before resizing
|
|
657
|
-
ResizeHandler _resizeHandler;
|
|
658
|
-
// ResizeHandler data
|
|
659
|
-
void* _resizeUserData;
|
|
660
|
-
// List of every allocated slab of Blocks
|
|
661
|
-
BlockList _blockList;
|
|
662
|
-
// Flag to control resizing
|
|
663
|
-
#if __cplusplus >= 201103L || _MSC_VER >= 1900
|
|
664
|
-
std::atomic<bool> _resizing;
|
|
665
|
-
#else
|
|
666
|
-
volatile bool _resizing;
|
|
667
|
-
#endif
|
|
668
|
-
|
|
669
|
-
// Lock for _buffer
|
|
670
|
-
mutable Mutex _lock;
|
|
671
|
-
|
|
672
|
-
};
|
|
673
|
-
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
#endif
|
|
677
|
-
|