amps-python-client 5.3.4.3__zip → 5.3.4.4__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/PKG-INFO +1 -1
  2. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/file_format_versions.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  3. amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  4. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/ack-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  5. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  6. amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  7. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/logon.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  8. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  9. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/content-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  10. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/conflated_topics.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  11. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  12. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/environment.pickle +0 -0
  13. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/index.doctree +0 -0
  14. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/index.html +1 -1
  15. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/searchindex.js +1 -1
  16. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/.buildinfo +1 -1
  17. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/code.html +193 -6
  18. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/genindex.html +62 -10
  19. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/index.html +4 -4
  20. amps-python-client-5.3.4.4/docs/html/objects.inv +0 -0
  21. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/py-modindex.html +4 -4
  22. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/search.html +4 -4
  23. amps-python-client-5.3.4.4/docs/html/searchindex.js +1 -0
  24. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  25. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  26. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  27. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  28. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/deltas.doctree +0 -0
  29. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  30. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  31. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/first-program.doctree +0 -0
  32. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  33. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/installing.doctree +0 -0
  34. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/introduction.doctree +0 -0
  35. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  36. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  37. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/queues.doctree +0 -0
  38. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/sow.doctree +0 -0
  39. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  40. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/utilities.doctree +0 -0
  41. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/environment.pickle +0 -0
  42. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/doctrees/index.doctree +0 -0
  43. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/index.html +1 -1
  44. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/searchindex.js +1 -1
  45. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  46. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  47. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/environment.pickle +0 -0
  48. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/index.doctree +0 -0
  49. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/index.html +1 -1
  50. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/searchindex.js +1 -1
  51. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/delta.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  52. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/glossary.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  53. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_expressions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  54. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/publishing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  55. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/troubleshooting.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  56. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  57. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/query-subscribe.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  58. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  59. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  60. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/actions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  61. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/queues.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  62. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/protocol-reference.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  63. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/replication.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  64. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/logging.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  65. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  66. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  67. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/oof.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  68. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  69. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/events.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  70. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/securing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  71. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  72. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  73. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  74. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/monitoring.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  75. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/usecases.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  76. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/pub_sub.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  77. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/distribution.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  78. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  79. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/acks.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  80. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/intro.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  81. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  82. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow_queries.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  83. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  84. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  85. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/operation.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  86. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/transports.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  87. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/daemon.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  88. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/environment.pickle +0 -0
  89. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/index.doctree +0 -0
  90. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/index.html +1 -1
  91. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/searchindex.js +1 -1
  92. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_defs.hpp +11 -1
  93. amps-python-client-5.3.4.4/include/ampspy_ssl.hpp +31 -0
  94. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspyver.h +1 -1
  95. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/index.html +1 -1
  96. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/setup.py +5 -5
  97. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/setup_amps.py +12 -4
  98. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/ampspy_shims.cpp +15 -5
  99. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/client.cpp +24 -1
  100. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClient.hpp +5 -1
  101. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClientImpl.hpp +37 -18
  102. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/LoggedBookmarkStore.hpp +1 -1
  103. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapStoreBuffer.hpp +7 -4
  104. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryBookmarkStore.hpp +54 -32
  105. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Message.hpp +2 -1
  106. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MessageRouter.hpp +8 -2
  107. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategy.hpp +2 -2
  108. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RingBookmarkStore.hpp +5 -2
  109. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +15 -6
  110. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps.h +2 -0
  111. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_impl.h +2 -1
  112. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsplusplus.hpp +47 -18
  113. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h +2 -2
  114. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/util.hpp +73 -6
  115. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol.c +64 -20
  116. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/amps_ssl.c +124 -73
  117. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/tcp.c +5 -5
  118. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/tcps.c +189 -221
  119. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/unix.c +5 -5
  120. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/haclient.cpp +1 -1
  121. amps-python-client-5.3.4.4/src/hybridpublishstore.cpp +275 -0
  122. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/memorypublishstore.cpp +141 -4
  123. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/messagestream.cpp +8 -0
  124. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/publishstore.cpp +128 -2
  125. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/raw_wrapper.cpp +690 -20
  126. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  127. amps-python-client-5.3.4.3/docs/html/objects.inv +0 -0
  128. amps-python-client-5.3.4.3/docs/html/searchindex.js +0 -1
  129. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  130. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  131. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  132. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  133. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  134. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  135. amps-python-client-5.3.4.3/src/hybridpublishstore.cpp +0 -137
  136. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/HISTORY +0 -0
  137. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/LICENSE +0 -0
  138. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/README.md +0 -0
  139. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/.buildinfo +0 -0
  140. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -0
  141. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -0
  142. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -0
  143. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -0
  144. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -0
  145. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -0
  146. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -0
  147. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -0
  148. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -0
  149. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -0
  150. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/index.rst.txt +0 -0
  151. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  152. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/alabaster.css +0 -0
  153. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/basic.css +0 -0
  154. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-bright.png +0 -0
  155. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-close.png +0 -0
  156. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment.png +0 -0
  157. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/custom.css +0 -0
  158. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/doctools.js +0 -0
  159. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down-pressed.png +0 -0
  160. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down.png +0 -0
  161. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/file.png +0 -0
  162. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.png +0 -0
  163. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.svg +0 -0
  164. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
  165. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery.js +0 -0
  166. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/minus.png +0 -0
  167. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/plus.png +0 -0
  168. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/pygments.css +0 -0
  169. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/searchtools.js +0 -0
  170. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
  171. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore.js +0 -0
  172. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up-pressed.png +0 -0
  173. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up.png +0 -0
  174. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/websupport.js +0 -0
  175. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/ack-messages.html +0 -0
  176. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/content-messages.html +0 -0
  177. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/intro.html +0 -0
  178. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/logon.html +0 -0
  179. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/protocol-reference.html +0 -0
  180. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/publishing.html +0 -0
  181. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-delimiters.html +0 -0
  182. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-subscribe.html +0 -0
  183. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/removing.html +0 -0
  184. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/utilities.html +0 -0
  185. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/genindex.html +0 -0
  186. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/objects.inv +0 -0
  187. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/command-reference/html/search.html +0 -0
  188. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_sources/code.rst.txt +0 -0
  189. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_sources/index.rst.txt +0 -0
  190. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/ajax-loader.gif +0 -0
  191. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/basic.css +0 -0
  192. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/classic.css +0 -0
  193. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/comment-bright.png +0 -0
  194. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/comment-close.png +0 -0
  195. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/comment.png +0 -0
  196. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/default.css +0 -0
  197. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/doctools.js +0 -0
  198. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/down-pressed.png +0 -0
  199. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/down.png +0 -0
  200. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/file.png +0 -0
  201. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/jquery-3.1.0.js +0 -0
  202. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/jquery.js +0 -0
  203. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/minus.png +0 -0
  204. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/plus.png +0 -0
  205. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/pygments.css +0 -0
  206. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/searchtools.js +0 -0
  207. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/sidebar.js +0 -0
  208. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/underscore-1.3.1.js +0 -0
  209. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/underscore.js +0 -0
  210. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/up-pressed.png +0 -0
  211. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/up.png +0 -0
  212. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/html/_static/websupport.js +0 -0
  213. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/.buildinfo +0 -0
  214. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.png +0 -0
  215. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.svg +0 -0
  216. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/connection_string.svg +0 -0
  217. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.png +0 -0
  218. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.svg +0 -0
  219. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.png +0 -0
  220. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.svg +0 -0
  221. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_images/warning.png +0 -0
  222. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -0
  223. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
  224. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -0
  225. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -0
  226. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/deltas.rst.txt +0 -0
  227. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -0
  228. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -0
  229. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/first-program.rst.txt +0 -0
  230. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -0
  231. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/installing.rst.txt +0 -0
  232. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/introduction.rst.txt +0 -0
  233. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -0
  234. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -0
  235. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/queues.rst.txt +0 -0
  236. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/sow.rst.txt +0 -0
  237. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -0
  238. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/utilities.rst.txt +0 -0
  239. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_sources/index.rst.txt +0 -0
  240. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/ajax-loader.gif +0 -0
  241. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/alabaster.css +0 -0
  242. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/basic.css +0 -0
  243. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-bright.png +0 -0
  244. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-close.png +0 -0
  245. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment.png +0 -0
  246. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/custom.css +0 -0
  247. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/doctools.js +0 -0
  248. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/down-pressed.png +0 -0
  249. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/down.png +0 -0
  250. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/file.png +0 -0
  251. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.png +0 -0
  252. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.svg +0 -0
  253. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery-3.1.0.js +0 -0
  254. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery.js +0 -0
  255. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/minus.png +0 -0
  256. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/plus.png +0 -0
  257. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/pygments.css +0 -0
  258. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/searchtools.js +0 -0
  259. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore-1.3.1.js +0 -0
  260. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore.js +0 -0
  261. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/up-pressed.png +0 -0
  262. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/up.png +0 -0
  263. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/_static/websupport.js +0 -0
  264. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/advanced-topics.html +0 -0
  265. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-compiler-list.html +0 -0
  266. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-feature-table.html +0 -0
  267. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/creating-commands.html +0 -0
  268. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/deltas.html +0 -0
  269. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/error-handling.html +0 -0
  270. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/exceptions.html +0 -0
  271. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/first-program.html +0 -0
  272. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/high-availability.html +0 -0
  273. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/installing.html +0 -0
  274. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/introduction.html +0 -0
  275. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/moving-from-python-lite.html +0 -0
  276. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/performance-tips.html +0 -0
  277. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/queues.html +0 -0
  278. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/sow.html +0 -0
  279. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/subscriptions.html +0 -0
  280. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/chapters/utilities.html +0 -0
  281. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/genindex.html +0 -0
  282. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/objects.inv +0 -0
  283. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python/html/search.html +0 -0
  284. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/.buildinfo +0 -0
  285. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
  286. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
  287. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
  288. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  289. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/alabaster.css +0 -0
  290. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/basic.css +0 -0
  291. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  292. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-close.png +0 -0
  293. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment.png +0 -0
  294. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/custom.css +0 -0
  295. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/doctools.js +0 -0
  296. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  297. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down.png +0 -0
  298. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/file.png +0 -0
  299. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  300. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
  301. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
  302. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery.js +0 -0
  303. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/minus.png +0 -0
  304. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/plus.png +0 -0
  305. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/pygments.css +0 -0
  306. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/searchtools.js +0 -0
  307. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
  308. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore.js +0 -0
  309. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  310. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up.png +0 -0
  311. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/websupport.js +0 -0
  312. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/crankitup.html +0 -0
  313. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/equipment.html +0 -0
  314. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/genindex.html +0 -0
  315. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/objects.inv +0 -0
  316. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/search.html +0 -0
  317. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/resources/custom.css +0 -0
  318. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/resources/flag_logo.svg +0 -0
  319. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/.buildinfo +0 -0
  320. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -0
  321. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -0
  322. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -0
  323. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -0
  324. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -0
  325. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -0
  326. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -0
  327. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -0
  328. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -0
  329. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -0
  330. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -0
  331. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -0
  332. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -0
  333. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -0
  334. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -0
  335. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -0
  336. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -0
  337. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -0
  338. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -0
  339. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -0
  340. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -0
  341. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -0
  342. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -0
  343. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -0
  344. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -0
  345. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -0
  346. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -0
  347. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -0
  348. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -0
  349. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -0
  350. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
  351. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -0
  352. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -0
  353. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -0
  354. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -0
  355. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -0
  356. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -0
  357. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/index.rst.txt +0 -0
  358. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  359. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/alabaster.css +0 -0
  360. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/basic.css +0 -0
  361. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-bright.png +0 -0
  362. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-close.png +0 -0
  363. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment.png +0 -0
  364. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/custom.css +0 -0
  365. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/doctools.js +0 -0
  366. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down-pressed.png +0 -0
  367. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down.png +0 -0
  368. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/file.png +0 -0
  369. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.png +0 -0
  370. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.svg +0 -0
  371. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
  372. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery.js +0 -0
  373. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/minus.png +0 -0
  374. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/plus.png +0 -0
  375. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/pygments.css +0 -0
  376. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/searchtools.js +0 -0
  377. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
  378. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore.js +0 -0
  379. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up-pressed.png +0 -0
  380. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up.png +0 -0
  381. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/websupport.js +0 -0
  382. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/acks.html +0 -0
  383. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/actions.html +0 -0
  384. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps-statistics.html +0 -0
  385. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_expressions.html +0 -0
  386. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_functions.html +0 -0
  387. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/auxiliary_modules.html +0 -0
  388. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -0
  389. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/conflated_topics.html +0 -0
  390. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/constructing-fields.html +0 -0
  391. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/daemon.html +0 -0
  392. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/delta.html +0 -0
  393. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/distribution.html +0 -0
  394. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/enrichment.html +0 -0
  395. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/events.html +0 -0
  396. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/file_format_versions.html +0 -0
  397. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/glossary.html +0 -0
  398. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/ha.html +0 -0
  399. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/installing_and_starting.html +0 -0
  400. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/intro.html +0 -0
  401. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/logging.html +0 -0
  402. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/messageTypes.html +0 -0
  403. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/monitoring.html +0 -0
  404. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/oof.html +0 -0
  405. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/operation.html +0 -0
  406. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/pub_sub.html +0 -0
  407. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/queues.html +0 -0
  408. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/replication.html +0 -0
  409. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/securing.html +0 -0
  410. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow.html +0 -0
  411. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow_queries.html +0 -0
  412. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/spark.html +0 -0
  413. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/transports.html +0 -0
  414. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/troubleshooting.html +0 -0
  415. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/txlog.html +0 -0
  416. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/usecases.html +0 -0
  417. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/utilities.html +0 -0
  418. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/views.html +0 -0
  419. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/genindex.html +0 -0
  420. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/objects.inv +0 -0
  421. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/docs/user-guide/html/search.html +0 -0
  422. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_bookmarkstore.hpp +0 -0
  423. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_compat.h +0 -0
  424. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_recoverypointadapter.hpp +0 -0
  425. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_shims.hpp +0 -0
  426. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_type_object.hpp +0 -0
  427. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/include/ampspy_types.hpp +0 -0
  428. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSConsolePublisher.py +0 -0
  429. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSConsoleSubscriber.py +0 -0
  430. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSFIXBuilderPublisher.py +0 -0
  431. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSFIXShredderSubscriber.py +0 -0
  432. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXBuilderPublisher.py +0 -0
  433. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXShredderSubscriber.py +0 -0
  434. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSPublishForReplay.py +0 -0
  435. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSQueueConsumer.py +0 -0
  436. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSQueuePublisher.py +0 -0
  437. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsolePublisher.py +0 -0
  438. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsoleSubscriber.py +0 -0
  439. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -0
  440. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeWithOOF.py +0 -0
  441. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSSubscribeForReplay.py +0 -0
  442. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/AMPSUpdateForOOF.py +0 -0
  443. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/CompositeMessagePublisher.py +0 -0
  444. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/CompositeMessageSubscriber.py +0 -0
  445. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/RandomServerChooser.py +0 -0
  446. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/samples/sample.xml +0 -0
  447. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/ampspy_type_object.cpp +0 -0
  448. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/authenticator.cpp +0 -0
  449. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/bookmarkstore.cpp +0 -0
  450. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/client_docs.h +0 -0
  451. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cmessagehandler.cpp +0 -0
  452. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/command.cpp +0 -0
  453. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/command_docs.h +0 -0
  454. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/compositemessagebuilder.cpp +0 -0
  455. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/compositemessageparser.cpp +0 -0
  456. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/conflatingrecoverypointadapter.cpp +0 -0
  457. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockPublishStore.hpp +0 -0
  458. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockStore.hpp +0 -0
  459. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BookmarkStore.hpp +0 -0
  460. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Buffer.hpp +0 -0
  461. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -0
  462. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageParser.hpp +0 -0
  463. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/DefaultServerChooser.hpp +0 -0
  464. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Field.hpp +0 -0
  465. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HybridPublishStore.hpp +0 -0
  466. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -0
  467. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryPublishStore.hpp +0 -0
  468. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryStoreBuffer.hpp +0 -0
  469. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -0
  470. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/PublishStore.hpp +0 -0
  471. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -0
  472. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPoint.hpp +0 -0
  473. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -0
  474. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooser.hpp +0 -0
  475. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooserImpl.hpp +0 -0
  476. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_generated.h +0 -0
  477. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_ssl.h +0 -0
  478. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampscrc.hpp +0 -0
  479. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsuri.h +0 -0
  480. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h.in +0 -0
  481. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/include/amps/constants.hpp +0 -0
  482. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol_generated.h +0 -0
  483. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/atfork.c +0 -0
  484. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/client.c +0 -0
  485. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/makefile +0 -0
  486. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/message.c +0 -0
  487. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/message_generated.h +0 -0
  488. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/transports.c +0 -0
  489. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/cpp/src/uri.c +0 -0
  490. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/exponentialdelaystrategy.cpp +0 -0
  491. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/failedwritehandler.cpp +0 -0
  492. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/fixbuilder.cpp +0 -0
  493. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/fixeddelaystrategy.cpp +0 -0
  494. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/fixshredder.cpp +0 -0
  495. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/fixshredder_docs.h +0 -0
  496. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/haclient_docs.h +0 -0
  497. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/hybridpublishstore_docs.h +0 -0
  498. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/memorybookmarkstore.cpp +0 -0
  499. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/memorybookmarkstore_docs.h +0 -0
  500. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/memorypublishstore_docs.h +0 -0
  501. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/message.cpp +0 -0
  502. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/message_docs.h +0 -0
  503. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/messagestream_docs.h +0 -0
  504. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/mmapbookmarkstore.cpp +0 -0
  505. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/nvfixbuilder.cpp +0 -0
  506. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/nvfixbuilder_docs.h +0 -0
  507. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/nvfixshredder.cpp +0 -0
  508. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/nvfixshredder_docs.h +0 -0
  509. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/reason.cpp +0 -0
  510. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/recoverypoint.cpp +0 -0
  511. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/recoverypointadapter.cpp +0 -0
  512. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/ringbookmarkstore.cpp +0 -0
  513. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/serverchooser.cpp +0 -0
  514. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/serverchooser_docs.h +0 -0
  515. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/sowrecoverypointadapter.cpp +0 -0
  516. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/store.cpp +0 -0
  517. {amps-python-client-5.3.4.3 → amps-python-client-5.3.4.4}/src/versioninfo.cpp +0 -0
@@ -0,0 +1,275 @@
1
+ ////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // Copyright (c) 2010-2024 60East Technologies Inc., All Rights Reserved.
4
+ //
5
+ // This computer software is owned by 60East Technologies Inc. and is
6
+ // protected by U.S. copyright laws and other laws and by international
7
+ // treaties. This computer software is furnished by 60East Technologies
8
+ // Inc. pursuant to a written license agreement and may be used, copied,
9
+ // transmitted, and stored only in accordance with the terms of such
10
+ // license agreement and with the inclusion of the above copyright notice.
11
+ // This computer software or any other copies thereof may not be provided
12
+ // or otherwise made available to any other person.
13
+ //
14
+ // U.S. Government Restricted Rights. This computer software: (a) was
15
+ // developed at private expense and is in all respects the proprietary
16
+ // information of 60East Technologies Inc.; (b) was not developed with
17
+ // government funds; (c) is a trade secret of 60East Technologies Inc.
18
+ // for all purposes of the Freedom of Information Act; and (d) is a
19
+ // commercial item and thus, pursuant to Section 12.212 of the Federal
20
+ // Acquisition Regulations (FAR) and DFAR Supplement Section 227.7202,
21
+ // Government's use, duplication or disclosure of the computer software
22
+ // is subject to the restrictions set forth by 60East Technologies Inc..
23
+ //
24
+ ////////////////////////////////////////////////////////////////////////////
25
+
26
+ #define PY_SSIZE_T_CLEAN 1
27
+ #include <Python.h>
28
+ #include <amps/ampsplusplus.hpp>
29
+ #include <ampspy_types.hpp>
30
+ #include <ampspy_defs.hpp>
31
+ #include <amps/HybridPublishStore.hpp>
32
+ #include "hybridpublishstore_docs.h"
33
+
34
+ using namespace AMPS;
35
+ namespace ampspy
36
+ {
37
+ namespace hybridpublishstore
38
+ {
39
+
40
+ AMPSDLL ampspy::ampspy_type_object hybridpublishstore_type;
41
+
42
+ // def __init__(self, name):
43
+ static void* __ctor(obj* self, PyObject* args, PyObject* kwds)
44
+ {
45
+ char* filename = NULL;
46
+ unsigned long maxMemoryCapacity = 0;
47
+ PyObject* value = NULL;
48
+ if (!PyArg_ParseTuple(args, "sk|O!", &filename, &maxMemoryCapacity, &PyBool_Type, &value))
49
+ {
50
+ return NULL;
51
+ }
52
+ assert(filename != NULL);
53
+ bool errorOnPublishGap = value && value == Py_True;
54
+
55
+ std::string fileName(filename);
56
+ try
57
+ {
58
+ UNLOCKGIL;
59
+ self->impl = new Store(new HybridPublishStore(fileName, (size_t)maxMemoryCapacity, errorOnPublishGap));
60
+ } DISPATCH_EXCEPTION;
61
+ self->resizeHandler = NULL;
62
+ return (void*)self;
63
+ }
64
+
65
+ static int _ctor(obj* self, PyObject* args, PyObject* kwds)
66
+ {
67
+ if (__ctor(self, args, kwds) == NULL)
68
+ {
69
+ return -1;
70
+ }
71
+ return 0;
72
+ }
73
+
74
+ static void _dtor(obj* self)
75
+ {
76
+ {
77
+ UNLOCKGIL;
78
+ delete self->impl;
79
+ }
80
+ self->impl = 0;
81
+ Py_XDECREF(self->resizeHandler);
82
+ shims::free(self);
83
+ }
84
+
85
+ static PyObject* store(obj* self, PyObject* args)
86
+ {
87
+ Store* pStore = self->impl;
88
+ PyObject* pPyMessage = NULL;
89
+ if (!PyArg_ParseTuple(args, "O", &pPyMessage))
90
+ {
91
+ return NULL;
92
+ }
93
+ Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
94
+ CALL_RETURN_UINT64_T(pStore->store(*pMessage));
95
+ }
96
+
97
+ static PyObject* discard_up_to(obj* self, PyObject* args)
98
+ {
99
+ Store* pStore = self->impl;
100
+ unsigned long long seq = 0ULL;
101
+ if (!PyArg_ParseTuple(args, "K", &seq))
102
+ {
103
+ return NULL;
104
+ }
105
+ CALL_RETURN_NONE(pStore->discardUpTo(seq));
106
+ }
107
+
108
+ class PyClientStoreReplayer : public AMPS::StoreReplayer
109
+ {
110
+ PyObject* _pPyHandler;
111
+ ampspy::message::obj* _pMessage;
112
+ PyObject* _pMessageArgs;
113
+ public:
114
+ PyClientStoreReplayer(PyObject* pPyHandler)
115
+ : _pPyHandler(pPyHandler)
116
+ {
117
+ Py_INCREF(_pPyHandler);
118
+ _pMessage = (ampspy::message::obj*)_PyObject_New(
119
+ ampspy::message::message_type);
120
+ _pMessage->isOwned = false;
121
+ assert(_pMessage);
122
+ _pMessageArgs = Py_BuildValue("(O)", _pMessage);
123
+ assert(_pMessageArgs);
124
+ }
125
+
126
+ virtual void execute(Message& message_)
127
+ {
128
+ LOCKGIL;
129
+ _pMessage->pMessage = (Message*)&message_;
130
+ PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
131
+ (PyObject*)NULL);
132
+ if (result == NULL)
133
+ {
134
+ if (PyErr_ExceptionMatches(PyExc_SystemExit))
135
+ {
136
+ ampspy::unhandled_exception();
137
+ }
138
+ else
139
+ {
140
+ // translate amps py exception into amps cpp, throw
141
+ exc::throwError();
142
+ }
143
+ }
144
+ else
145
+ {
146
+ Py_DECREF(result);
147
+ }
148
+ }
149
+
150
+ virtual ~PyClientStoreReplayer()
151
+ {
152
+ Py_CLEAR(_pPyHandler);
153
+ Py_CLEAR(_pMessage);
154
+ Py_CLEAR(_pMessageArgs);
155
+ }
156
+ };
157
+
158
+ static PyObject* replay(obj* self, PyObject* args)
159
+ {
160
+ Store* pStore = self->impl;
161
+ PyObject* pOnMessage = NULL;
162
+ if (!PyArg_ParseTuple(args, "O", &pOnMessage))
163
+ {
164
+ return NULL;
165
+ }
166
+ PyClientStoreReplayer replayer(pOnMessage);
167
+ CALL_RETURN_NONE(pStore->replay(replayer));
168
+ }
169
+
170
+ static PyObject* replay_single(obj* self, PyObject* args)
171
+ {
172
+ Store* pStore = self->impl;
173
+ PyObject* pOnMessage = NULL;
174
+ unsigned long long seq = 0;
175
+ if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
176
+ {
177
+ return NULL;
178
+ }
179
+ PyClientStoreReplayer replayer(pOnMessage);
180
+ CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
181
+ }
182
+
183
+ static PyObject* get_unpersisted_count(obj* self, PyObject* args)
184
+ {
185
+ CALL_RETURN_SIZE_T(self->impl->unpersistedCount());
186
+ }
187
+
188
+ static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
189
+ {
190
+ Store* pStore = self->impl;
191
+ CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
192
+ }
193
+
194
+ static PyObject* get_last_persisted(obj* self, PyObject* args)
195
+ {
196
+ Store* pStore = self->impl;
197
+ CALL_RETURN_UINT64_T(pStore->getLastPersisted());
198
+ }
199
+
200
+ bool
201
+ call_resize_handler(StoreImpl* store, size_t size, void* vp)
202
+ {
203
+ LOCKGIL;
204
+ obj* s = (obj*)vp;
205
+ #if defined(_WIN32) && !defined(_WIN64)
206
+ PyObject* args = Py_BuildValue("(Oi)", s, size);
207
+ #else
208
+ PyObject* args = Py_BuildValue("(Ol)", s, size);
209
+ #endif
210
+ PyObject* pyRet = PyObject_Call(s->resizeHandler, args, (PyObject*)NULL);
211
+ Py_DECREF(args);
212
+ if (pyRet == NULL || PyErr_Occurred())
213
+ {
214
+ Py_XDECREF(pyRet);
215
+ if (PyErr_ExceptionMatches(PyExc_SystemExit))
216
+ {
217
+ ampspy::unhandled_exception();
218
+ }
219
+ throw StoreException("The resize handler threw an exception");
220
+ }
221
+ bool ret = (PyObject_IsTrue(pyRet) != 0);
222
+ Py_DECREF(pyRet);
223
+ return ret;
224
+ }
225
+
226
+ static PyObject* set_resize_handler(obj* self, PyObject* args)
227
+ {
228
+ PyObject* callable;
229
+ if (!PyArg_ParseTuple(args, "O", &callable))
230
+ {
231
+ return NULL;
232
+ }
233
+ if (!PyCallable_Check(callable))
234
+ {
235
+ PyErr_SetString(PyExc_TypeError, "argument must be callable.");
236
+ return NULL;
237
+ }
238
+ Py_INCREF(callable);
239
+ if (self->resizeHandler)
240
+ {
241
+ Py_DECREF(self->resizeHandler);
242
+ }
243
+ self->resizeHandler = callable;
244
+ CALL_RETURN_NONE(self->impl->setResizeHandler((AMPS::PublishStoreResizeHandler)call_resize_handler, self));
245
+ }
246
+
247
+ void add_types(PyObject* module_)
248
+ {
249
+ hybridpublishstore_type.setName("AMPS.HybridPublishStore")
250
+ .setBasicSize(sizeof(obj))
251
+ .setDestructorFunction(_dtor)
252
+ .setConstructorFunction(_ctor)
253
+ .setDoc(hybridpublishstore_class_doc)
254
+ .setBaseType()
255
+ .notCopyable()
256
+ .addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
257
+ ":param message: The message to put into the store.\n")
258
+ .addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
259
+ ":param sequence: The highest sequence number to discard.\n")
260
+ .addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
261
+ ":param handler: The message handler to call with each message.\n")
262
+ .addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
263
+ ":param handler: The message handler to call with each message.\n"
264
+ ":param sequence: The sequence number of the message to replay.\n")
265
+ .addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
266
+ .addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
267
+ .addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
268
+ .addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
269
+ .createType()
270
+ .registerType("HybridPublishStore", module_);
271
+
272
+ }
273
+
274
+ } // namespace hybridpublishstore
275
+ } // namespace ampspy
@@ -36,20 +36,34 @@ namespace ampspy
36
36
  namespace memorypublishstore
37
37
  {
38
38
  // def __init__(self, name):
39
- static int _ctor(obj* self, PyObject* args, PyObject* kwds)
39
+ static void* __ctor(obj* self, PyObject* args, PyObject* kwds)
40
40
  {
41
41
  int numBlocks = -1;
42
42
  PyObject* value = NULL;
43
43
  if (!PyArg_ParseTuple(args, "|IO!", &numBlocks, &PyBool_Type, &value))
44
44
  {
45
- return -1;
45
+ return NULL;
46
46
  }
47
47
  if (numBlocks <=0 )
48
48
  {
49
49
  numBlocks = 10000;
50
50
  }
51
51
  bool errorOnPublishGap = value && value == Py_True;
52
- self->impl = new Store(new MemoryPublishStore(numBlocks, errorOnPublishGap));
52
+ try
53
+ {
54
+ UNLOCKGIL;
55
+ self->impl = new Store(new MemoryPublishStore(numBlocks, errorOnPublishGap));
56
+ } DISPATCH_EXCEPTION;
57
+ self->resizeHandler = NULL;
58
+ return (void*)self;
59
+ }
60
+
61
+ static int _ctor(obj* self, PyObject* args, PyObject* kwds)
62
+ {
63
+ if (__ctor(self, args, kwds) == NULL)
64
+ {
65
+ return -1;
66
+ }
53
67
  return 0;
54
68
  }
55
69
 
@@ -59,13 +73,125 @@ namespace ampspy
59
73
  UNLOCKGIL;
60
74
  delete self->impl;
61
75
  }
76
+ self->impl = 0;
62
77
  Py_XDECREF(self->resizeHandler);
63
78
  shims::free(self);
64
79
  }
65
80
 
81
+ static PyObject* store(obj* self, PyObject* args)
82
+ {
83
+ Store* pStore = self->impl;
84
+ PyObject* pPyMessage = NULL;
85
+ if (!PyArg_ParseTuple(args, "O", &pPyMessage))
86
+ {
87
+ return NULL;
88
+ }
89
+ Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
90
+ CALL_RETURN_UINT64_T(pStore->store(*pMessage));
91
+ }
92
+
93
+ static PyObject* discard_up_to(obj* self, PyObject* args)
94
+ {
95
+ Store* pStore = self->impl;
96
+ unsigned long long seq = 0ULL;
97
+ if (!PyArg_ParseTuple(args, "K", &seq))
98
+ {
99
+ return NULL;
100
+ }
101
+ CALL_RETURN_NONE(pStore->discardUpTo(seq));
102
+ }
103
+
104
+ class PyClientStoreReplayer : public AMPS::StoreReplayer
105
+ {
106
+ PyObject* _pPyHandler;
107
+ ampspy::message::obj* _pMessage;
108
+ PyObject* _pMessageArgs;
109
+ public:
110
+ PyClientStoreReplayer(PyObject* pPyHandler)
111
+ : _pPyHandler(pPyHandler)
112
+ {
113
+ Py_INCREF(_pPyHandler);
114
+ _pMessage = (ampspy::message::obj*)_PyObject_New(
115
+ ampspy::message::message_type);
116
+ _pMessage->isOwned = false;
117
+ assert(_pMessage);
118
+ _pMessageArgs = Py_BuildValue("(O)", _pMessage);
119
+ assert(_pMessageArgs);
120
+ }
121
+
122
+ virtual void execute(Message& message_)
123
+ {
124
+ LOCKGIL;
125
+ _pMessage->pMessage = (Message*)&message_;
126
+ PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
127
+ (PyObject*)NULL);
128
+ if (result == NULL)
129
+ {
130
+ if (PyErr_ExceptionMatches(PyExc_SystemExit))
131
+ {
132
+ ampspy::unhandled_exception();
133
+ }
134
+ else
135
+ {
136
+ // translate amps py exception into amps cpp, throw
137
+ exc::throwError();
138
+ }
139
+ }
140
+ else
141
+ {
142
+ Py_DECREF(result);
143
+ }
144
+ }
145
+
146
+ virtual ~PyClientStoreReplayer()
147
+ {
148
+ Py_CLEAR(_pPyHandler);
149
+ Py_CLEAR(_pMessage);
150
+ Py_CLEAR(_pMessageArgs);
151
+ }
152
+ };
153
+
154
+ static PyObject* replay(obj* self, PyObject* args)
155
+ {
156
+ Store* pStore = self->impl;
157
+ PyObject* pOnMessage = NULL;
158
+ if (!PyArg_ParseTuple(args, "O", &pOnMessage))
159
+ {
160
+ return NULL;
161
+ }
162
+ PyClientStoreReplayer replayer(pOnMessage);
163
+ CALL_RETURN_NONE(pStore->replay(replayer));
164
+ }
165
+
166
+ static PyObject* replay_single(obj* self, PyObject* args)
167
+ {
168
+ Store* pStore = self->impl;
169
+ PyObject* pOnMessage = NULL;
170
+ unsigned long long seq = 0;
171
+ if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
172
+ {
173
+ return NULL;
174
+ }
175
+ PyClientStoreReplayer replayer(pOnMessage);
176
+ CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
177
+ }
178
+
66
179
  static PyObject* get_unpersisted_count(obj* self, PyObject* args)
67
180
  {
68
- return PyInt_FromSize_t( self->impl->unpersistedCount() );
181
+ Store* pStore = self->impl;
182
+ CALL_RETURN_SIZE_T(pStore->unpersistedCount());
183
+ }
184
+
185
+ static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
186
+ {
187
+ Store* pStore = self->impl;
188
+ CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
189
+ }
190
+
191
+ static PyObject* get_last_persisted(obj* self, PyObject* args)
192
+ {
193
+ Store* pStore = self->impl;
194
+ CALL_RETURN_UINT64_T(pStore->getLastPersisted());
69
195
  }
70
196
 
71
197
  bool
@@ -141,7 +267,18 @@ namespace ampspy
141
267
  .setDoc(memorypublishstore_class_doc)
142
268
  .setBaseType()
143
269
  .notCopyable()
270
+ .addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
271
+ ":param message: The message to put into the store.\n")
272
+ .addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
273
+ ":param sequence: The highest sequence number to discard.\n")
274
+ .addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
275
+ ":param handler: The message handler to call with each message.\n")
276
+ .addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
277
+ ":param handler: The message handler to call with each message.\n"
278
+ ":param sequence: The sequence number of the message to replay.\n")
144
279
  .addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
280
+ .addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
281
+ .addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
145
282
  .addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
146
283
  .addMethod("get_error_on_publish_gap", get_error_on_publish_gap, "get_error_on_publish_gap()\n\nReturns If true, PublishStoreGapException can be thrown\n"
147
284
  " by the client publish store if the client logs onto a server that\n"
@@ -96,6 +96,14 @@ namespace ampspy
96
96
  AMPS_FETCH_AND_8((&_flags), ~ms_is_active);
97
97
  AMPS_FETCH_OR_8((&_flags), ms_is_disconnected_in_progress);
98
98
  }
99
+ else if (newState_ == AMPS::ConnectionStateListener::Connected
100
+ && _commandId.empty()
101
+ && _subId.empty()
102
+ && _queryId.empty())
103
+ {
104
+ AMPS_FETCH_OR_8((&_flags), ms_is_active);
105
+ AMPS_FETCH_AND_8((&_flags), ~ms_is_disconnected_in_progress);
106
+ }
99
107
  }
100
108
 
101
109
  void unsubscribe(const std::string& id_, bool active_ = false)
@@ -45,12 +45,16 @@ namespace ampspy
45
45
  return NULL;
46
46
  }
47
47
  bool errorOnPublishGap = value && value == Py_True;
48
+
49
+ std::string fileName(filename);
48
50
  self->impl = 0;
49
51
  try
50
52
  {
51
- self->impl = new PublishStore(filename, errorOnPublishGap);
53
+ UNLOCKGIL;
54
+ self->impl = new PublishStore(fileName, errorOnPublishGap);
52
55
  self->impl->addRef();
53
56
  } DISPATCH_EXCEPTION;
57
+ self->resizeHandler = NULL;
54
58
  return (void*)filename;
55
59
  }
56
60
 
@@ -67,6 +71,7 @@ namespace ampspy
67
71
  {
68
72
  if (self->impl)
69
73
  {
74
+ UNLOCKGIL;
70
75
  self->impl->removeRef();
71
76
  }
72
77
  self->impl = 0;
@@ -74,9 +79,119 @@ namespace ampspy
74
79
  shims::free(self);
75
80
  }
76
81
 
82
+ static PyObject* store(obj* self, PyObject* args)
83
+ {
84
+ PublishStore* pStore = self->impl;
85
+ PyObject* pPyMessage = NULL;
86
+ if (!PyArg_ParseTuple(args, "O", &pPyMessage))
87
+ {
88
+ return NULL;
89
+ }
90
+ Message* pMessage = ((ampspy::message::obj*)pPyMessage)->pMessage;
91
+ CALL_RETURN_UINT64_T(pStore->store(*pMessage));
92
+ }
93
+
94
+ static PyObject* discard_up_to(obj* self, PyObject* args)
95
+ {
96
+ PublishStore* pStore = self->impl;
97
+ unsigned long long seq = 0ULL;
98
+ if (!PyArg_ParseTuple(args, "K", &seq))
99
+ {
100
+ return NULL;
101
+ }
102
+ CALL_RETURN_NONE(pStore->discardUpTo((amps_uint64_t)seq));
103
+ }
104
+
105
+ class PyClientStoreReplayer : public StoreReplayer
106
+ {
107
+ PyObject* _pPyHandler;
108
+ ampspy::message::obj* _pMessage;
109
+ PyObject* _pMessageArgs;
110
+ public:
111
+ PyClientStoreReplayer(PyObject* pPyHandler)
112
+ : _pPyHandler(pPyHandler)
113
+ {
114
+ Py_INCREF(_pPyHandler);
115
+ _pMessage = (ampspy::message::obj*)_PyObject_New(
116
+ ampspy::message::message_type);
117
+ _pMessage->isOwned = false;
118
+ assert(_pMessage);
119
+ _pMessageArgs = Py_BuildValue("(O)", _pMessage);
120
+ assert(_pMessageArgs);
121
+ }
122
+
123
+ virtual void execute(Message& message_)
124
+ {
125
+ LOCKGIL;
126
+ _pMessage->pMessage = (Message*)&message_;
127
+ PyObject* result = PyObject_Call(_pPyHandler, _pMessageArgs,
128
+ (PyObject*)NULL);
129
+ if (result == NULL)
130
+ {
131
+ if (PyErr_ExceptionMatches(PyExc_SystemExit))
132
+ {
133
+ ampspy::unhandled_exception();
134
+ }
135
+ else
136
+ {
137
+ // translate amps py exception into amps cpp, throw
138
+ exc::throwError();
139
+ }
140
+ }
141
+ else
142
+ {
143
+ Py_DECREF(result);
144
+ }
145
+ }
146
+
147
+ virtual ~PyClientStoreReplayer()
148
+ {
149
+ Py_CLEAR(_pPyHandler);
150
+ Py_CLEAR(_pMessage);
151
+ Py_CLEAR(_pMessageArgs);
152
+ }
153
+ };
154
+
155
+ static PyObject* replay(obj* self, PyObject* args)
156
+ {
157
+ PublishStore* pStore = self->impl;
158
+ PyObject* pOnMessage = NULL;
159
+ if (!PyArg_ParseTuple(args, "O", &pOnMessage))
160
+ {
161
+ return NULL;
162
+ }
163
+ PyClientStoreReplayer replayer(pOnMessage);
164
+ CALL_RETURN_NONE(pStore->replay(replayer));
165
+ }
166
+
167
+ static PyObject* replay_single(obj* self, PyObject* args)
168
+ {
169
+ PublishStore* pStore = self->impl;
170
+ PyObject* pOnMessage = NULL;
171
+ unsigned long long seq = 0;
172
+ if (!PyArg_ParseTuple(args, "OK", &pOnMessage, &seq))
173
+ {
174
+ return NULL;
175
+ }
176
+ PyClientStoreReplayer replayer(pOnMessage);
177
+ CALL_RETURN_NONE(pStore->replaySingle(replayer, seq));
178
+ }
179
+
77
180
  static PyObject* get_unpersisted_count(obj* self, PyObject* args)
78
181
  {
79
- return PyInt_FromSize_t( self->impl->unpersistedCount() );
182
+ CALL_RETURN_SIZE_T(self->impl->unpersistedCount());
183
+ }
184
+
185
+ static PyObject* get_lowest_unpersisted(obj* self, PyObject* args)
186
+ {
187
+ PublishStore* pStore = self->impl;
188
+ CALL_RETURN_UINT64_T(pStore->getLowestUnpersisted());
189
+ }
190
+
191
+ static PyObject* get_last_persisted(obj* self, PyObject* args)
192
+ {
193
+ PublishStore* pStore = self->impl;
194
+ CALL_RETURN_UINT64_T(pStore->getLastPersisted());
80
195
  }
81
196
 
82
197
  static PyObject* truncate_on_close(obj* self, PyObject* args)
@@ -164,7 +279,18 @@ namespace ampspy
164
279
  .setDoc("AMPS PublishStore Object\n\n"
165
280
  " Stores published records in a file while awaiting an ACK from the server. Construct with the name of the file to use for record storage\n"
166
281
  " and optionally, a Boolean to specify if the store should throw an exception if logging onto a server that might be missing messages not in the store.\n")
282
+ .addMethod("store", store, "store()\n\nStore the provided message into the publish store. Returns the sequence number that should be assigned to the message.\n\n"
283
+ ":param message: The message to put into the store.\n")
284
+ .addMethod("discard_up_to", discard_up_to, "discard_up_to()\n\nDiscard all messages in the publish store with a sequence number less than or equal to the provided argument.\n\n"
285
+ ":param sequence: The highest sequence number to discard.\n")
286
+ .addMethod("replay", replay, "replay()\n\nReplays all messages currently in the publish store via the provided message handler.\n"
287
+ ":param handler: The message handler to call with each message.\n")
288
+ .addMethod("replay_single", replay_single, "replay_single()\n\nReplays the message with the given sequence number if it is currently in the publish store via the provided message handler.\n"
289
+ ":param handler: The message handler to call with each message.\n"
290
+ ":param sequence: The sequence number of the message to replay.\n")
167
291
  .addMethod("get_unpersisted_count", get_unpersisted_count, "get_unpersisted_count()\n\nReturns the number of messages published which have not been ACK'ed by the server.\n")
292
+ .addMethod("get_lowest_unpersisted", get_lowest_unpersisted, "get_lowest_unpersisted()\n\nReturns the sequence number of the oldest message in the publish store.\n")
293
+ .addMethod("get_last_persisted", get_last_persisted, "get_last_persisted()\n\nReturns the sequence number of last message ACK'ed by the server.\n")
168
294
  .addMethod("set_resize_handler", set_resize_handler, "set_resize_handler()\n\nSets the object to call when the store needs to resize.\n")
169
295
  .addMethod("truncate_on_close", truncate_on_close, "truncate_on_close()\n\nSets if the PublishStore should truncate the file to initial capacity when it closes if it is empty.\n")
170
296
  .addMethod("get_error_on_publish_gap", get_error_on_publish_gap, "get_error_on_publish_gap()\n\nReturns If true, PublishStoreGapException can be thrown\n"