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
@@ -35,6 +35,7 @@
35
35
  #include <amps/ReconnectDelayStrategy.hpp>
36
36
  #include <amps/CompositeMessageBuilder.hpp>
37
37
  #include <amps/CompositeMessageParser.hpp>
38
+ #include <amps/amps_ssl.h>
38
39
  #include <vector>
39
40
  #include <deque>
40
41
 
@@ -139,7 +140,16 @@ namespace ampspy
139
140
 
140
141
  extern bool _is_signaled;
141
142
 
142
- AMPSDLL PyObject* ssl_init_internal(const char*);
143
+ #if PY_MAJOR_VERSION >= 3
144
+ AMPSDLL PyObject* ampspy_ssl_init(PyObject* self, PyObject* args, PyObject* kwds = NULL);
145
+ AMPSDLL PyObject* ssl_init(PyObject* self, PyObject* args, PyObject* kwds = NULL);
146
+ AMPSDLL PyObject* ssl_init_internal(const char*, PyObject*, bool strictCiphersOnly = false);
147
+
148
+ AMPSDLL PyObject* ampspy_get_PySSLSocket_from_SSL(_amps_SSL* ssl_);
149
+ #else
150
+ AMPSDLL PyObject* ampspy_ssl_init(PyObject* self, PyObject* args);
151
+ AMPSDLL PyObject* ssl_init(PyObject* self, PyObject* args);
152
+ #endif
143
153
 
144
154
  // conversions from c++ types
145
155
  inline PyObject* ret(const char* returnValue)
@@ -0,0 +1,31 @@
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
+ #ifndef __AMPSPY_SSL_HPP
26
+ #define __AMPSPY_SSL_HPP
27
+ #include <amps/amps.h>
28
+ namespace ampspy {
29
+ AMPSDLL void _ampspy_ssl_cleanup(void);
30
+ }
31
+ #endif //__AMPSPY_SSL_HPP
@@ -25,6 +25,6 @@
25
25
  #ifndef _AMPSPYVER_H_
26
26
  #define _AMPSPYVER_H_
27
27
 
28
- const char* AMPS_PYTHON_VERSION = "5.3.4.3.1c0da8e.656215";
28
+ const char* AMPS_PYTHON_VERSION = "5.3.4.4.1b5ff54.964735";
29
29
 
30
30
  #endif //_AMPSPYVER_H_
@@ -34,7 +34,7 @@
34
34
  <div id="banner">
35
35
  <a href="http://documentation.crankuptheamps.com/"><img id="logo" src="./docs/resources/flag_logo.svg" alt="60East flags"/></a>
36
36
  <h1>AMPS Python Client Resources</h1>
37
- <h3>Version: 5.3.4.3</h3>
37
+ <h3>Version: 5.3.4.4</h3>
38
38
  </div>
39
39
 
40
40
  <div class="divider"></div>
@@ -13,8 +13,8 @@
13
13
  ## or otherwise made available to any other person.
14
14
  ##
15
15
  ## U.S. Government Restricted Rights. This computer software: (a) was
16
- ## 5.3.4.3ed at private expense and is in all respects the proprietary
17
- ## information of 60East Technologies Inc.; (b) was not 5.3.4.3ed with
16
+ ## 5.3.4.4ed at private expense and is in all respects the proprietary
17
+ ## information of 60East Technologies Inc.; (b) was not 5.3.4.4ed with
18
18
  ## government funds; (c) is a trade secret of 60East Technologies Inc.
19
19
  ## for all purposes of the Freedom of Information Act; and (d) is a
20
20
  ## commercial item and thus, pursuant to Section 12.212 of the Federal
@@ -89,7 +89,7 @@ amps_client_sources=glob.glob(os.path.join(amps_cpp_dir, 'src','*.c'))
89
89
  libraries_list = []
90
90
  extra_args = []
91
91
  link_args = []
92
- PY_LIMITED_API_version = "Py_LIMITED_API=0x03040000"
92
+ PY_LIMITED_API_version = "Py_LIMITED_API=0x03060000"
93
93
  if sys.platform != "win32":
94
94
  libraries_list.append("amps")
95
95
  if sys.platform[:5] == "linux":
@@ -173,7 +173,7 @@ AMPSModule = Extension('AMPS',
173
173
  AMPSModule.py_limited_api = True
174
174
 
175
175
  # Will be replaced with the actual version number by build.xml
176
- module_version="5.3.4.3"
176
+ module_version="5.3.4.4"
177
177
 
178
178
  if module_version.startswith('@'):
179
179
  # Running this on a bare repository or source tree; try finding the branch name.
@@ -182,7 +182,7 @@ if module_version.startswith('@'):
182
182
  process = subprocess.Popen(["git","rev-parse","--abbrev-ref","HEAD"],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
183
183
  result = process.communicate()
184
184
  module_version = result[0].decode('utf-8').strip()
185
- if module_version == "5.3.4.3" or module_version[:5] == "auto-":
185
+ if module_version == "5.3.4.4" or module_version[:5] == "auto-":
186
186
  module_version = "99.99.99.99"
187
187
  print("VERSION %s"%module_version)
188
188
  except:
@@ -13,8 +13,8 @@
13
13
  ## or otherwise made available to any other person.
14
14
  ##
15
15
  ## U.S. Government Restricted Rights. This computer software: (a) was
16
- ## 5.3.4.3ed at private expense and is in all respects the proprietary
17
- ## information of 60East Technologies Inc.; (b) was not 5.3.4.3ed with
16
+ ## 5.3.4.4ed at private expense and is in all respects the proprietary
17
+ ## information of 60East Technologies Inc.; (b) was not 5.3.4.4ed with
18
18
  ## government funds; (c) is a trade secret of 60East Technologies Inc.
19
19
  ## for all purposes of the Freedom of Information Act; and (d) is a
20
20
  ## commercial item and thus, pursuant to Section 12.212 of the Federal
@@ -61,7 +61,15 @@ amps_client_sources=glob.glob(os.path.join(amps_cpp_dir, 'src','*.c'))
61
61
 
62
62
  if sys.platform != "win32":
63
63
  if os.path.exists('src/cpp/lib/libamps.a'):
64
- sys.exit(0)
64
+ build = False
65
+ last_build_time = os.path.getmtime('src/cpp/lib/libamps.a')
66
+ for src in amps_client_sources:
67
+ build = build | (os.path.getmtime(src) >= last_build_time)
68
+ if not build:
69
+ for header in glob.glob(os.path.join(amps_cpp_dir, 'include', 'amps', '*.h*')):
70
+ build = build | (os.path.getmtime(header) >= last_build_time)
71
+ if not build:
72
+ sys.exit(0)
65
73
  import subprocess
66
74
  f = open("foo.c", "w+")
67
75
  f.write("#include <stdatomic.h>");
@@ -84,7 +92,7 @@ elif "shared" in sys.argv or "AMPS_SHARED" in os.environ:
84
92
 
85
93
  setup(name='amps-c-client',
86
94
  description='AMPS C Client',
87
- version='5.3.4.3',
95
+ version='5.3.4.4',
88
96
  maintainer='60East Technologies, Incorporated',
89
97
  maintainer_email='support@crankuptheamps.com',
90
98
  url='https://crankuptheamps.com',
@@ -23,6 +23,7 @@
23
23
  //
24
24
  ////////////////////////////////////////////////////////////////////////////
25
25
  #include <ampspy_shims.hpp>
26
+ #include <ampspy_ssl.hpp>
26
27
 
27
28
  #ifdef _WIN32
28
29
  #include <Windows.h>
@@ -73,6 +74,7 @@ namespace ampspy
73
74
  }
74
75
  PyObject* _shimExitFunc(void)
75
76
  {
77
+ _ampspy_ssl_cleanup();
76
78
  Py_INCREF(Py_None);
77
79
  return Py_None;
78
80
  }
@@ -185,19 +187,27 @@ namespace ampspy
185
187
  {
186
188
  ampspy::shims::Py_IsFinalizing = &ampspy36IsFinalizing;
187
189
  }
188
- else if (!getSymbol("_Py_IsFinalizing", &ampspy::shims::Py_IsFinalizing))
190
+ else if (!getSymbol("_Py_IsFinalizing", &ampspy::shims::Py_IsFinalizing)
191
+ && !getSymbol("Py_IsFinalizing", &ampspy::shims::Py_IsFinalizing))
189
192
  {
190
- // Python 3.7+: use _Py_IsFinalizing function
193
+ // Python 3.7 - 3.12: use _Py_IsFinalizing function
194
+ // Python 3.13+: use Py_IsFinalizing function
191
195
  PyErr_SetString(PyExc_RuntimeError,
192
- "Error locating _Py_Finalizing or _Py_IsFinalizing; cannot load AMPS.");
196
+ "Error locating _Py_Finalizing, _Py_IsFinalizing, or"
197
+ " Py_IsFinalizing; cannot load AMPS.");
193
198
  return false;
194
199
  }
195
200
 
201
+ // Python 3.6 - 3.12: use _Py_UncheckedGet function
202
+ // Python 3.13+: use Py_GetUnchecked function
196
203
  if (!getSymbol("_PyThreadState_UncheckedGet",
197
- &ampspy::shims::PyThreadState_UncheckedGet))
204
+ &ampspy::shims::PyThreadState_UncheckedGet)
205
+ && !getSymbol("PyThreadState_GetUnchecked",
206
+ &ampspy::shims::PyThreadState_UncheckedGet))
198
207
  {
199
208
  PyErr_SetString(PyExc_RuntimeError,
200
- "Error locating _PyThreadState_UncheckedGet; cannot load AMPS.");
209
+ "Error locating _PyThreadState_UncheckedGet or"
210
+ " PyThreadState_GetUnchecked; cannot load AMPS.");
201
211
  return false;
202
212
  }
203
213
  if (!getSymbol("PyUnicode_AsUTF8AndSize",
@@ -378,6 +378,9 @@ namespace ampspy
378
378
  }
379
379
  delete pCallbackInfos;
380
380
  }
381
+ Py_CLEAR(self->threadCreatedCallback);
382
+ Py_CLEAR(self->message_args);
383
+ Py_CLEAR(self->message);
381
384
  }
382
385
 
383
386
  AMPSDLL void destructor(PyObject* self_)
@@ -535,7 +538,7 @@ namespace ampspy
535
538
  if (strlen(uri) > 3 && uri[0] == 't' && uri[1] == 'c' && uri[2] == 'p'
536
539
  && uri[3] == 's')
537
540
  {
538
- PyObject* initResult = ssl_init_internal(NULL);
541
+ PyObject* initResult = ampspy_ssl_init(NULL, NULL);
539
542
  if (initResult == NULL)
540
543
  {
541
544
  return NULL;
@@ -2434,6 +2437,22 @@ namespace ampspy
2434
2437
  msgHandler));
2435
2438
  }
2436
2439
 
2440
+ #if PY_MAJOR_VERSION >= 3
2441
+ // def get_ssl(self)
2442
+ static PyObject* get_ssl(obj* self, PyObject* args)
2443
+ {
2444
+ _amps_SSL* ssl = NULL;
2445
+ {
2446
+ UNLOCKGIL;
2447
+ if (((AMPS::Client*)(self->pClient))->getURI().find("tcps") != std::string::npos)
2448
+ {
2449
+ ssl = (void*)(amps_tcps_get_SSL(amps_client_get_transport(((AMPS::Client*)(self->pClient))->getHandle())));
2450
+ }
2451
+ }
2452
+ return ampspy_get_PySSLSocket_from_SSL(ssl);
2453
+ }
2454
+ #endif
2455
+
2437
2456
  ///
2438
2457
  /// This method is used by python internals for garbage collection.
2439
2458
  ///
@@ -2635,6 +2654,10 @@ namespace ampspy
2635
2654
  .addKeywordMethod("set_global_command_type_message_handler",
2636
2655
  set_global_command_type_message_handler,
2637
2656
  set_global_command_type_message_handler_doc)
2657
+ #if PY_MAJOR_VERSION >= 3
2658
+ .addMethod("get_ssl", get_ssl,
2659
+ "For a tcps client, returns the PySSLSocket of the connection")
2660
+ #endif
2638
2661
  .addGetter("_as_parameter_", (void*)get_as_parameter,
2639
2662
  "Underlying Client pointer for use with foreign functions and the ctypes module.")
2640
2663
  .createType()
@@ -358,7 +358,11 @@ namespace AMPS
358
358
  {
359
359
  haClient.connectAndLogonInternal();
360
360
  }
361
- catch ( AMPSException& )
361
+ catch (RetryOperationException& )
362
+ {
363
+ throw;
364
+ }
365
+ catch (AMPSException& )
362
366
  {
363
367
  // -V565
364
368
  }
@@ -162,6 +162,10 @@ namespace AMPS
162
162
  }
163
163
  }
164
164
  }
165
+ catch (const RetryOperationException&)
166
+ {
167
+ // pass - recv thread was started and is handling reconnect
168
+ }
165
169
  catch (...)
166
170
  {
167
171
  // Failure, make sure we're disconnected
@@ -185,19 +189,15 @@ namespace AMPS
185
189
  throw AlreadyConnectedException("Attempt to call logon on an HAClient. Use connectAndLogon() instead.");
186
190
  }
187
191
 
188
- static void HADoNothingDisconnectHandler(amps_handle /*client*/,
189
- void* /*data*/)
190
- {
191
- ;
192
- }
193
-
194
192
  class DisconnectHandlerDisabler
195
193
  {
196
194
  public:
197
195
  DisconnectHandlerDisabler()
198
- : _pClient(NULL), _queueAckTimeout(0) { }
196
+ : _pClient(NULL), _queueAckTimeout(0), _disconnect(false) { }
199
197
  DisconnectHandlerDisabler(HAClientImpl* pClient_)
200
198
  : _pClient(pClient_)
199
+ , _queueAckTimeout(0)
200
+ , _disconnect(false)
201
201
  {
202
202
  setHandler();
203
203
  _queueAckTimeout = _pClient->getAckTimeout();
@@ -205,9 +205,18 @@ namespace AMPS
205
205
  }
206
206
  ~DisconnectHandlerDisabler()
207
207
  {
208
- clear();
208
+ _clear();
209
209
  }
210
210
  void clear()
211
+ {
212
+ _clear();
213
+ if (_disconnect)
214
+ {
215
+ _disconnect = false;
216
+ throw DisconnectedException("Client disconnected during logon.");
217
+ }
218
+ }
219
+ void _clear()
211
220
  {
212
221
  if (_pClient)
213
222
  {
@@ -232,18 +241,27 @@ namespace AMPS
232
241
  _queueAckTimeout = _pClient->getAckTimeout();
233
242
  _pClient->setAckTimeout(0);
234
243
  amps_client_disconnect(_pClient->getHandle());
244
+ _disconnect = false;
235
245
  }
236
246
  }
237
247
  void setHandler()
238
248
  {
249
+ _disconnect = false;
239
250
  amps_client_set_disconnect_handler(
240
251
  _pClient->getHandle(),
241
- (amps_handler)HAClientImpl::HADoNothingDisconnectHandler,
242
- _pClient);
252
+ (amps_handler)HAClientImpl::DisconnectHandlerDisabler::HADoNothingDisconnectHandler,
253
+ (void*)&_disconnect);
243
254
  }
255
+ static void HADoNothingDisconnectHandler(amps_handle /*client*/,
256
+ void* pDisconnect_)
257
+ {
258
+ *(bool*)pDisconnect_ = true;
259
+ }
260
+
244
261
  private:
245
262
  HAClientImpl* _pClient;
246
263
  int _queueAckTimeout;
264
+ bool _disconnect;
247
265
  };
248
266
 
249
267
  void connectAndLogonInternal()
@@ -254,6 +272,11 @@ namespace AMPS
254
272
  }
255
273
  {
256
274
  DisconnectHandlerDisabler disconnectDisabler;
275
+ TryLock<Mutex> l(_connectLock);
276
+ if (!l.isLocked())
277
+ {
278
+ throw RetryOperationException("Retry, another thread is handling reconnnect");
279
+ }
257
280
  while (!_disconnected)
258
281
  {
259
282
  std::string uri = _serverChooser.getCurrentURI();
@@ -262,8 +285,6 @@ namespace AMPS
262
285
  throw ConnectionException("No AMPS instances available for connection. " + _serverChooser.getError());
263
286
  }
264
287
  Authenticator& auth = _serverChooser.getCurrentAuthenticator();
265
- // Begin locked section - see AC-1017
266
- Lock<Mutex> l(_connectLock);
267
288
  _sleepBeforeConnecting(uri);
268
289
  try
269
290
  {
@@ -315,7 +336,6 @@ namespace AMPS
315
336
  throw;
316
337
  }
317
338
  }
318
- disconnectDisabler.clear();
319
339
  try
320
340
  {
321
341
  _serverChooser.reportSuccess(getConnectionInfo());
@@ -326,11 +346,11 @@ namespace AMPS
326
346
  ClientImpl::disconnect();
327
347
  throw;
328
348
  }
349
+ disconnectDisabler.clear();
329
350
  break;
330
351
  }
331
352
  catch (const AMPSException& ex)
332
353
  {
333
- Unlock<Mutex> u(_connectLock);
334
354
  ConnectionInfo ci = getConnectionInfo();
335
355
  // Substitute the URI on the connection info with the one we attempted
336
356
  ci["client.uri"] = uri;
@@ -388,10 +408,9 @@ namespace AMPS
388
408
 
389
409
  void disconnect()
390
410
  {
391
- {
392
- Lock<Mutex> l(_connectLock);
393
- _disconnected = true;
394
- }
411
+ _disconnected = true;
412
+ // Grabbing this lock ensures no other thread is trying to reconnect
413
+ Lock<Mutex> l(_connectLock);
395
414
  ClientImpl::disconnect();
396
415
  }
397
416
  void _millisleep(unsigned int millis_)
@@ -598,7 +598,7 @@ namespace AMPS
598
598
  }
599
599
 
600
600
  #ifdef _WIN32
601
- typedef DWORD ERRTYPE ;
601
+ typedef DWORD ERRTYPE;
602
602
  ERRTYPE getErrorNo() const
603
603
  {
604
604
  return GetLastError();
@@ -54,9 +54,9 @@ namespace AMPS
54
54
  /// mapped file used for storage. If the file exists and contains valid
55
55
  /// messages, they will be available for replay.
56
56
  /// \param fileName_ The name of the file mapped to memory.
57
+ #ifdef _WIN32
57
58
  MMapStoreBuffer(const std::string& fileName_)
58
59
  : MemoryStoreBuffer(MemoryStoreBuffer::EMPTY)
59
- #ifdef _WIN32
60
60
  , _mapFile(INVALID_HANDLE_VALUE), _file(INVALID_HANDLE_VALUE)
61
61
  {
62
62
  _file = CreateFileA(fileName_.c_str(), GENERIC_READ | GENERIC_WRITE, 0,
@@ -79,9 +79,12 @@ namespace AMPS
79
79
  #else
80
80
  size_t fileSize = liFileSize.LowPart;
81
81
  #endif
82
- _setSize(AMPS_MEMORYBUFFER_DEFAULT_LENGTH > fileSize
83
- ? AMPS_MEMORYBUFFER_DEFAULT_LENGTH : fileSize);
82
+ _setSize( AMPS_MEMORYBUFFER_DEFAULT_LENGTH > fileSize ?
83
+ AMPS_MEMORYBUFFER_DEFAULT_LENGTH : fileSize);
84
+ }
84
85
  #else
86
+ MMapStoreBuffer(const std::string& fileName_)
87
+ : MemoryStoreBuffer(MemoryStoreBuffer::EMPTY)
85
88
  {
86
89
  _fd = ::open(fileName_.c_str(), O_CREAT | O_RDWR, (mode_t)0644);
87
90
  struct stat statBuf;
@@ -96,8 +99,8 @@ namespace AMPS
96
99
  _setSize(recovery ? (size_t)statBuf.st_size
97
100
  : AMPS_MEMORYBUFFER_DEFAULT_LENGTH,
98
101
  recovery);
99
- #endif
100
102
  }
103
+ #endif
101
104
 
102
105
  ~MMapStoreBuffer()
103
106
  {
@@ -162,28 +162,39 @@ namespace AMPS
162
162
  */
163
163
  {
164
164
  // Is this an attempt at a range?
165
- if (!BookmarkRange::isRange(bookmark_))
165
+ bool isRange = BookmarkRange::isRange(bookmark_);
166
+ bool startExclusive = false;
167
+ if (isRange)
166
168
  {
167
- _entries[_current]._val.deepCopy(bookmark_);
168
- }
169
- else
170
- {
171
- // Deep copy of the range is saved
172
169
  _range.set(bookmark_);
173
170
  // Stricter check on range syntax
174
171
  if (!_range.isValid())
175
172
  {
173
+ _range.clear();
176
174
  throw CommandException("Invalid bookmark range specified.");
177
175
  }
178
- if (!_range.isStartInclusive())
176
+ startExclusive = !_range.isStartInclusive();
177
+ }
178
+ if (isRange || _publishers.empty())
179
+ {
180
+ // Check validity and init publishers map for a range
181
+ Message::Field parseable = isRange ? _range.getStart() : bookmark_;
182
+ amps_uint64_t publisher, sequence;
183
+ std::vector<Field> bmList = Field::parseBookmarkList(parseable);
184
+ if (bmList.empty() && !Field::isTimestamp(parseable))
179
185
  {
180
- // Put it in our publishers map
181
- amps_uint64_t publisher, sequence;
182
- std::vector<Field> bmList = Field::parseBookmarkList(_range.getStart());
183
- for (std::vector<Field>::iterator bkmk = bmList.begin(); bkmk != bmList.end(); ++bkmk)
186
+ if (isRange)
187
+ {
188
+ _range.clear();
189
+ }
190
+ return 0;
191
+ }
192
+ for (std::vector<Field>::iterator bkmk = bmList.begin(); bkmk != bmList.end(); ++bkmk)
193
+ {
194
+ parseBookmark(*bkmk, publisher, sequence);
195
+ if (publisher != (amps_uint64_t)0)
184
196
  {
185
- parseBookmark(*bkmk, publisher, sequence);
186
- if (publisher != (amps_uint64_t)0)
197
+ if (isRange && startExclusive)
187
198
  {
188
199
  // Compare it to our publishers map
189
200
  PublisherIterator pub = _publishers.find(publisher);
@@ -193,7 +204,27 @@ namespace AMPS
193
204
  }
194
205
  }
195
206
  }
207
+ else if (!Field::isTimestamp(*bkmk))
208
+ {
209
+ // This is an invalid bookmark, so don't save anything
210
+ if (isRange)
211
+ {
212
+ _range.clear();
213
+ if (startExclusive)
214
+ {
215
+ _publishers.clear();
216
+ }
217
+ }
218
+ return 0;
219
+ }
196
220
  }
221
+ }
222
+ if (!isRange)
223
+ {
224
+ _entries[_current]._val.deepCopy(bookmark_);
225
+ }
226
+ else
227
+ {
197
228
  Unlock<Mutex> unlock(_subLock);
198
229
  _store->updateAdapter(this);
199
230
  // Don't actually log a range
@@ -276,11 +307,18 @@ namespace AMPS
276
307
  {
277
308
  return false;
278
309
  }
279
- // Check if we've already recovered this bookmark
280
- size_t recoveredIdx = recover(bookmark_, false);
281
310
 
282
311
  amps_uint64_t publisher, sequence;
283
312
  parseBookmark(bookmark_, publisher, sequence);
313
+ // Bookmarks like EPOCH, NOW, or invalid bookmarks we ignore
314
+ // A timestamp could be logged as the first bookmark when starting
315
+ // a new subscription.
316
+ if (publisher == 0 && !Field::isTimestamp(bookmark_))
317
+ {
318
+ return true;
319
+ }
320
+ // Check if we've already recovered this bookmark
321
+ size_t recoveredIdx = recover(bookmark_, false);
284
322
  // Compare it to our publishers map
285
323
  PublisherIterator pub = _publishers.find(publisher);
286
324
  if (pub == _publishers.end() || pub->second < sequence)
@@ -421,9 +459,9 @@ namespace AMPS
421
459
  }
422
460
  }
423
461
  std::string recent = os.str();
424
- totalLen = recent.length();
425
462
  if (!recent.empty())
426
463
  {
464
+ totalLen = recent.length();
427
465
  if (!_recoveryTimestamp.empty())
428
466
  {
429
467
  totalLen += _recoveryTimestamp.len();
@@ -794,22 +832,6 @@ namespace AMPS
794
832
  }
795
833
  };
796
834
 
797
- struct EntryHash
798
- {
799
- Field::FieldHash _hasher;
800
-
801
- size_t operator()(const Entry* entryPtr_) const
802
- {
803
- return _hasher(entryPtr_->_val);
804
- }
805
-
806
- bool operator()(const Entry* lhsPtr_, const Entry* rhsPtr_) const
807
- {
808
- return _hasher(lhsPtr_->_val, rhsPtr_->_val);
809
- }
810
- };
811
-
812
- //typedef std::set<Entry*, EntryHash> EntryPtrList;
813
835
  typedef std::vector<Entry*> EntryPtrList;
814
836
 
815
837
  void getRecoveryEntries(EntryPtrList& list_)
@@ -1573,7 +1573,8 @@ namespace AMPS
1573
1573
  return _body.get().getIgnoreAutoAck();
1574
1574
  }
1575
1575
 
1576
- template <class T> // static
1576
+ // static
1577
+ template <class T>
1577
1578
  void throwFor(const T& /*context_*/, const std::string& ackReason_) const
1578
1579
  {
1579
1580
  switch (ackReason_[0])
@@ -402,23 +402,29 @@ namespace AMPS
402
402
  void invalidateCache(const std::atomic<uint_fast64_t>& generationCount_, amps_uint64_t hashVal_)
403
403
  {
404
404
  _generationCount.store(generationCount_);
405
+ _hashVal = hashVal_;
406
+ clear();
407
+ }
405
408
  #else
406
409
  void invalidateCache(const AMPS_ATOMIC_TYPE& generationCount_, amps_uint64_t hashVal_)
407
410
  {
408
411
  _generationCount = generationCount_;
409
- #endif
410
412
  _hashVal = hashVal_;
411
413
  clear();
412
414
  }
415
+ #endif
413
416
 
414
417
  #if __cplusplus >= 201100L || _MSC_VER >= 1900
415
418
  bool isCacheHit(const std::atomic<uint_fast64_t>& generationCount_, amps_uint64_t hashVal_) const
419
+ {
420
+ return _generationCount == generationCount_ && _hashVal == hashVal_;
421
+ }
416
422
  #else
417
423
  bool isCacheHit(const AMPS_ATOMIC_TYPE& generationCount_, amps_uint64_t hashVal_) const
418
- #endif
419
424
  {
420
425
  return _generationCount == generationCount_ && _hashVal == hashVal_;
421
426
  }
427
+ #endif
422
428
 
423
429
  private:
424
430
  #if __cplusplus >= 201100L || _MSC_VER >= 1900
@@ -23,8 +23,8 @@
23
23
  //
24
24
  ////////////////////////////////////////////////////////////////////////////
25
25
 
26
- #ifndef _AMPS_RECONNECTDELAYSTRATEGY_HPP
27
- #define _AMPS_RECONNECTDELAYSTRATEGY_HPP
26
+ #ifndef _AMPS_RECONNECTDELAYSTRATEGY_HPP_
27
+ #define _AMPS_RECONNECTDELAYSTRATEGY_HPP_
28
28
 
29
29
 
30
30
  #include <amps/ReconnectDelayStrategyImpl.hpp>
@@ -613,7 +613,7 @@ namespace AMPS
613
613
  return _positionMap[subId_];
614
614
  }
615
615
 
616
- Subscription* find(const Message::Field& subId_)
616
+ MemoryBookmarkStore::Subscription* find(const Message::Field& subId_)
617
617
  {
618
618
  if (subId_.empty())
619
619
  {
@@ -647,6 +647,9 @@ namespace AMPS
647
647
  SYSTEM_INFO SYS_INFO;
648
648
  GetSystemInfo(&SYS_INFO);
649
649
  pageSize = SYS_INFO.dwPageSize;
650
+ }
651
+ return pageSize;
652
+ }
650
653
  #else
651
654
  static size_t getPageSize()
652
655
  {
@@ -654,10 +657,10 @@ namespace AMPS
654
657
  if (pageSize == 0)
655
658
  {
656
659
  pageSize = (size_t)sysconf(_SC_PAGESIZE);
657
- #endif
658
660
  }
659
661
  return pageSize;
660
662
  }
663
+ #endif
661
664
 
662
665
 
663
666
  };