amps-python-client 5.3.4.2__zip → 5.3.4.3__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/LICENSE +50 -39
  2. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/PKG-INFO +1 -1
  3. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/.buildinfo +1 -1
  4. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/code.html +717 -482
  5. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/genindex.html +4 -4
  6. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/index.html +4 -4
  7. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/py-modindex.html +4 -4
  8. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/search.html +4 -4
  9. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/searchindex.js +1 -1
  10. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspyver.h +1 -1
  11. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/index.html +1 -1
  12. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/setup.py +4 -4
  13. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/setup_amps.py +3 -3
  14. amps-python-client-5.3.4.3/src/client_docs.h +1210 -0
  15. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/command_docs.h +10 -5
  16. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BlockPublishStore.hpp +0 -3
  17. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BlockStore.hpp +0 -3
  18. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Field.hpp +6 -2
  19. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MMapStoreBuffer.hpp +21 -14
  20. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryStoreBuffer.hpp +4 -1
  21. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Message.hpp +8 -0
  22. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ServerChooser.hpp +15 -4
  23. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps.h +12 -0
  24. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_impl.h +12 -0
  25. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampscrc.hpp +2 -4
  26. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsplusplus.hpp +13 -17
  27. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsver.h +2 -2
  28. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/util.hpp +4 -4
  29. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_ssl.c +87 -11
  30. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/atfork.c +33 -0
  31. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/tcp.c +210 -44
  32. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/tcps.c +168 -48
  33. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/unix.c +88 -27
  34. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/exponentialdelaystrategy.cpp +23 -29
  35. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixeddelaystrategy.cpp +13 -12
  36. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/haclient_docs.h +34 -20
  37. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixbuilder.cpp +3 -3
  38. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixbuilder_docs.h +3 -3
  39. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixshredder_docs.h +3 -3
  40. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/serverchooser_docs.h +4 -4
  41. amps-python-client-5.3.4.2/src/client_docs.h +0 -956
  42. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/HISTORY +0 -0
  43. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/README.md +0 -0
  44. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  45. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  46. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  47. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  48. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  49. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  50. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  51. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  52. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  53. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  54. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/environment.pickle +0 -0
  55. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/doctrees/index.doctree +0 -0
  56. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/.buildinfo +0 -0
  57. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -0
  58. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -0
  59. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -0
  60. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -0
  61. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -0
  62. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -0
  63. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -0
  64. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -0
  65. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -0
  66. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -0
  67. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_sources/index.rst.txt +0 -0
  68. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  69. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/alabaster.css +0 -0
  70. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/basic.css +0 -0
  71. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-bright.png +0 -0
  72. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-close.png +0 -0
  73. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment.png +0 -0
  74. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/custom.css +0 -0
  75. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/doctools.js +0 -0
  76. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down-pressed.png +0 -0
  77. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down.png +0 -0
  78. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/file.png +0 -0
  79. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.png +0 -0
  80. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.svg +0 -0
  81. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
  82. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/jquery.js +0 -0
  83. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/minus.png +0 -0
  84. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/plus.png +0 -0
  85. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/pygments.css +0 -0
  86. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/searchtools.js +0 -0
  87. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
  88. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/underscore.js +0 -0
  89. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up-pressed.png +0 -0
  90. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up.png +0 -0
  91. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/websupport.js +0 -0
  92. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/ack-messages.html +0 -0
  93. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/content-messages.html +0 -0
  94. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/intro.html +0 -0
  95. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/logon.html +0 -0
  96. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/protocol-reference.html +0 -0
  97. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/publishing.html +0 -0
  98. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/query-delimiters.html +0 -0
  99. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/query-subscribe.html +0 -0
  100. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/removing.html +0 -0
  101. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/chapters/utilities.html +0 -0
  102. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/genindex.html +0 -0
  103. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/index.html +0 -0
  104. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/objects.inv +0 -0
  105. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/search.html +0 -0
  106. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/command-reference/html/searchindex.js +0 -0
  107. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_sources/code.rst.txt +0 -0
  108. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_sources/index.rst.txt +0 -0
  109. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/ajax-loader.gif +0 -0
  110. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/basic.css +0 -0
  111. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/classic.css +0 -0
  112. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment-bright.png +0 -0
  113. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment-close.png +0 -0
  114. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/comment.png +0 -0
  115. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/default.css +0 -0
  116. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/doctools.js +0 -0
  117. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/down-pressed.png +0 -0
  118. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/down.png +0 -0
  119. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/file.png +0 -0
  120. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/jquery-3.1.0.js +0 -0
  121. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/jquery.js +0 -0
  122. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/minus.png +0 -0
  123. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/plus.png +0 -0
  124. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/pygments.css +0 -0
  125. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/searchtools.js +0 -0
  126. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/sidebar.js +0 -0
  127. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/underscore-1.3.1.js +0 -0
  128. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/underscore.js +0 -0
  129. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/up-pressed.png +0 -0
  130. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/up.png +0 -0
  131. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/_static/websupport.js +0 -0
  132. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/html/objects.inv +0 -0
  133. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  134. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  135. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  136. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  137. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/deltas.doctree +0 -0
  138. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  139. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  140. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/first-program.doctree +0 -0
  141. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  142. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/installing.doctree +0 -0
  143. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/introduction.doctree +0 -0
  144. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  145. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  146. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/queues.doctree +0 -0
  147. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/sow.doctree +0 -0
  148. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  149. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/chapters/utilities.doctree +0 -0
  150. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/environment.pickle +0 -0
  151. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/doctrees/index.doctree +0 -0
  152. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/.buildinfo +0 -0
  153. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.png +0 -0
  154. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.svg +0 -0
  155. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/connection_string.svg +0 -0
  156. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.png +0 -0
  157. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.svg +0 -0
  158. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.png +0 -0
  159. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.svg +0 -0
  160. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_images/warning.png +0 -0
  161. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -0
  162. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
  163. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -0
  164. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -0
  165. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/deltas.rst.txt +0 -0
  166. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -0
  167. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -0
  168. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/first-program.rst.txt +0 -0
  169. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -0
  170. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/installing.rst.txt +0 -0
  171. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/introduction.rst.txt +0 -0
  172. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -0
  173. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -0
  174. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/queues.rst.txt +0 -0
  175. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/sow.rst.txt +0 -0
  176. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -0
  177. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/utilities.rst.txt +0 -0
  178. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_sources/index.rst.txt +0 -0
  179. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/ajax-loader.gif +0 -0
  180. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/alabaster.css +0 -0
  181. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/basic.css +0 -0
  182. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-bright.png +0 -0
  183. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-close.png +0 -0
  184. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment.png +0 -0
  185. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/custom.css +0 -0
  186. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/doctools.js +0 -0
  187. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/down-pressed.png +0 -0
  188. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/down.png +0 -0
  189. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/file.png +0 -0
  190. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.png +0 -0
  191. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.svg +0 -0
  192. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery-3.1.0.js +0 -0
  193. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery.js +0 -0
  194. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/minus.png +0 -0
  195. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/plus.png +0 -0
  196. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/pygments.css +0 -0
  197. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/searchtools.js +0 -0
  198. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore-1.3.1.js +0 -0
  199. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore.js +0 -0
  200. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/up-pressed.png +0 -0
  201. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/up.png +0 -0
  202. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/_static/websupport.js +0 -0
  203. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/advanced-topics.html +0 -0
  204. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/cpp-compiler-list.html +0 -0
  205. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/cpp-feature-table.html +0 -0
  206. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/creating-commands.html +0 -0
  207. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/deltas.html +0 -0
  208. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/error-handling.html +0 -0
  209. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/exceptions.html +0 -0
  210. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/first-program.html +0 -0
  211. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/high-availability.html +0 -0
  212. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/installing.html +0 -0
  213. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/introduction.html +0 -0
  214. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/moving-from-python-lite.html +0 -0
  215. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/performance-tips.html +0 -0
  216. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/queues.html +0 -0
  217. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/sow.html +0 -0
  218. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/subscriptions.html +0 -0
  219. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/chapters/utilities.html +0 -0
  220. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/genindex.html +0 -0
  221. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/index.html +0 -0
  222. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/objects.inv +0 -0
  223. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/search.html +0 -0
  224. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python/html/searchindex.js +0 -0
  225. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  226. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  227. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/environment.pickle +0 -0
  228. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/doctrees/index.doctree +0 -0
  229. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/.buildinfo +0 -0
  230. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
  231. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
  232. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
  233. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  234. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/alabaster.css +0 -0
  235. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/basic.css +0 -0
  236. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  237. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-close.png +0 -0
  238. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment.png +0 -0
  239. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/custom.css +0 -0
  240. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/doctools.js +0 -0
  241. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  242. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down.png +0 -0
  243. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/file.png +0 -0
  244. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  245. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
  246. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
  247. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/jquery.js +0 -0
  248. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/minus.png +0 -0
  249. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/plus.png +0 -0
  250. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/pygments.css +0 -0
  251. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/searchtools.js +0 -0
  252. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
  253. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/underscore.js +0 -0
  254. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  255. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up.png +0 -0
  256. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/websupport.js +0 -0
  257. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/chapters/crankitup.html +0 -0
  258. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/chapters/equipment.html +0 -0
  259. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/genindex.html +0 -0
  260. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/index.html +0 -0
  261. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/objects.inv +0 -0
  262. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/search.html +0 -0
  263. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/searchindex.js +0 -0
  264. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/resources/custom.css +0 -0
  265. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/resources/flag_logo.svg +0 -0
  266. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  267. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  268. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  269. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  270. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  271. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  272. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  273. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  274. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  275. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  276. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  277. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  278. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  279. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  280. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  281. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  282. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  283. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  284. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  285. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  286. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  287. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  288. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  289. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  290. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  291. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  292. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  293. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  294. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  295. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  296. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  297. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  298. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  299. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  300. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  301. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  302. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  303. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/environment.pickle +0 -0
  304. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/doctrees/index.doctree +0 -0
  305. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/.buildinfo +0 -0
  306. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -0
  307. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -0
  308. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -0
  309. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -0
  310. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -0
  311. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -0
  312. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -0
  313. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -0
  314. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -0
  315. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -0
  316. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -0
  317. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -0
  318. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -0
  319. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -0
  320. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -0
  321. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -0
  322. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -0
  323. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -0
  324. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -0
  325. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -0
  326. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -0
  327. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -0
  328. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -0
  329. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -0
  330. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -0
  331. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -0
  332. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -0
  333. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -0
  334. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -0
  335. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -0
  336. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
  337. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -0
  338. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -0
  339. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -0
  340. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -0
  341. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -0
  342. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -0
  343. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/index.rst.txt +0 -0
  344. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  345. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/alabaster.css +0 -0
  346. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/basic.css +0 -0
  347. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-bright.png +0 -0
  348. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-close.png +0 -0
  349. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment.png +0 -0
  350. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/custom.css +0 -0
  351. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/doctools.js +0 -0
  352. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down-pressed.png +0 -0
  353. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down.png +0 -0
  354. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/file.png +0 -0
  355. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.png +0 -0
  356. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.svg +0 -0
  357. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
  358. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/jquery.js +0 -0
  359. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/minus.png +0 -0
  360. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/plus.png +0 -0
  361. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/pygments.css +0 -0
  362. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/searchtools.js +0 -0
  363. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
  364. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/underscore.js +0 -0
  365. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up-pressed.png +0 -0
  366. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up.png +0 -0
  367. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/websupport.js +0 -0
  368. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/acks.html +0 -0
  369. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/actions.html +0 -0
  370. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps-statistics.html +0 -0
  371. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps_expressions.html +0 -0
  372. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/amps_functions.html +0 -0
  373. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/auxiliary_modules.html +0 -0
  374. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -0
  375. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/conflated_topics.html +0 -0
  376. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/constructing-fields.html +0 -0
  377. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/daemon.html +0 -0
  378. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/delta.html +0 -0
  379. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/distribution.html +0 -0
  380. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/enrichment.html +0 -0
  381. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/events.html +0 -0
  382. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/file_format_versions.html +0 -0
  383. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/glossary.html +0 -0
  384. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/ha.html +0 -0
  385. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/installing_and_starting.html +0 -0
  386. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/intro.html +0 -0
  387. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/logging.html +0 -0
  388. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/messageTypes.html +0 -0
  389. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/monitoring.html +0 -0
  390. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/oof.html +0 -0
  391. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/operation.html +0 -0
  392. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/pub_sub.html +0 -0
  393. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/queues.html +0 -0
  394. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/replication.html +0 -0
  395. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/securing.html +0 -0
  396. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/sow.html +0 -0
  397. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/sow_queries.html +0 -0
  398. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/spark.html +0 -0
  399. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/transports.html +0 -0
  400. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/troubleshooting.html +0 -0
  401. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/txlog.html +0 -0
  402. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/usecases.html +0 -0
  403. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/utilities.html +0 -0
  404. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/chapters/views.html +0 -0
  405. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/genindex.html +0 -0
  406. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/index.html +0 -0
  407. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/objects.inv +0 -0
  408. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/search.html +0 -0
  409. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/docs/user-guide/html/searchindex.js +0 -0
  410. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_bookmarkstore.hpp +0 -0
  411. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_compat.h +0 -0
  412. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_defs.hpp +0 -0
  413. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_recoverypointadapter.hpp +0 -0
  414. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_shims.hpp +0 -0
  415. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_type_object.hpp +0 -0
  416. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/include/ampspy_types.hpp +0 -0
  417. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSConsolePublisher.py +0 -0
  418. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSConsoleSubscriber.py +0 -0
  419. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSFIXBuilderPublisher.py +0 -0
  420. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSFIXShredderSubscriber.py +0 -0
  421. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSNVFIXBuilderPublisher.py +0 -0
  422. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSNVFIXShredderSubscriber.py +0 -0
  423. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSPublishForReplay.py +0 -0
  424. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSQueueConsumer.py +0 -0
  425. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSQueuePublisher.py +0 -0
  426. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWConsolePublisher.py +0 -0
  427. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWConsoleSubscriber.py +0 -0
  428. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -0
  429. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSOWandSubscribeWithOOF.py +0 -0
  430. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSSubscribeForReplay.py +0 -0
  431. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/AMPSUpdateForOOF.py +0 -0
  432. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/CompositeMessagePublisher.py +0 -0
  433. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/CompositeMessageSubscriber.py +0 -0
  434. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/RandomServerChooser.py +0 -0
  435. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/samples/sample.xml +0 -0
  436. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ampspy_shims.cpp +0 -0
  437. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ampspy_type_object.cpp +0 -0
  438. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/authenticator.cpp +0 -0
  439. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/bookmarkstore.cpp +0 -0
  440. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/client.cpp +0 -0
  441. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cmessagehandler.cpp +0 -0
  442. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/command.cpp +0 -0
  443. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/compositemessagebuilder.cpp +0 -0
  444. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/compositemessageparser.cpp +0 -0
  445. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/conflatingrecoverypointadapter.cpp +0 -0
  446. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/BookmarkStore.hpp +0 -0
  447. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/Buffer.hpp +0 -0
  448. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -0
  449. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/CompositeMessageParser.hpp +0 -0
  450. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/DefaultServerChooser.hpp +0 -0
  451. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HAClient.hpp +0 -0
  452. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HAClientImpl.hpp +0 -0
  453. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/HybridPublishStore.hpp +0 -0
  454. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/LoggedBookmarkStore.hpp +0 -0
  455. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -0
  456. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryBookmarkStore.hpp +0 -0
  457. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemoryPublishStore.hpp +0 -0
  458. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -0
  459. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/MessageRouter.hpp +0 -0
  460. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/PublishStore.hpp +0 -0
  461. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ReconnectDelayStrategy.hpp +0 -0
  462. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -0
  463. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RecoveryPoint.hpp +0 -0
  464. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -0
  465. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/RingBookmarkStore.hpp +0 -0
  466. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +0 -0
  467. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ServerChooserImpl.hpp +0 -0
  468. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_generated.h +0 -0
  469. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_ssl.h +0 -0
  470. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsuri.h +0 -0
  471. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/ampsver.h.in +0 -0
  472. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/include/amps/constants.hpp +0 -0
  473. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol.c +0 -0
  474. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol_generated.h +0 -0
  475. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/client.c +0 -0
  476. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/makefile +0 -0
  477. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/message.c +0 -0
  478. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/message_generated.h +0 -0
  479. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/transports.c +0 -0
  480. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/cpp/src/uri.c +0 -0
  481. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/failedwritehandler.cpp +0 -0
  482. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixbuilder.cpp +0 -0
  483. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixshredder.cpp +0 -0
  484. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/fixshredder_docs.h +0 -0
  485. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/haclient.cpp +0 -0
  486. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/hybridpublishstore.cpp +0 -0
  487. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/hybridpublishstore_docs.h +0 -0
  488. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorybookmarkstore.cpp +0 -0
  489. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorybookmarkstore_docs.h +0 -0
  490. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorypublishstore.cpp +0 -0
  491. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/memorypublishstore_docs.h +0 -0
  492. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/message.cpp +0 -0
  493. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/message_docs.h +0 -0
  494. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/messagestream.cpp +0 -0
  495. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/messagestream_docs.h +0 -0
  496. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/mmapbookmarkstore.cpp +0 -0
  497. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/nvfixshredder.cpp +0 -0
  498. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/publishstore.cpp +0 -0
  499. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/raw_wrapper.cpp +0 -0
  500. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/reason.cpp +0 -0
  501. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/recoverypoint.cpp +0 -0
  502. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/recoverypointadapter.cpp +0 -0
  503. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/ringbookmarkstore.cpp +0 -0
  504. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/serverchooser.cpp +0 -0
  505. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/sowrecoverypointadapter.cpp +0 -0
  506. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/store.cpp +0 -0
  507. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.3}/src/versioninfo.cpp +0 -0
@@ -6,7 +6,7 @@
6
6
  <head>
7
7
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
8
 
9
- <title>AMPS Module Reference &#8212; AMPS Python Client 5.3.4.2 documentation</title>
9
+ <title>AMPS Module Reference &#8212; AMPS Python Client 5.3.4.3 documentation</title>
10
10
 
11
11
  <link rel="stylesheet" href="_static/classic.css" type="text/css" />
12
12
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
14
14
  <script type="text/javascript">
15
15
  var DOCUMENTATION_OPTIONS = {
16
16
  URL_ROOT: './',
17
- VERSION: '5.3.4.2',
17
+ VERSION: '5.3.4.3',
18
18
  COLLAPSE_INDEX: false,
19
19
  FILE_SUFFIX: '.html',
20
20
  HAS_SOURCE: true,
@@ -41,7 +41,7 @@
41
41
  <li class="right" >
42
42
  <a href="index.html" title="AMPS Python Client Reference"
43
43
  accesskey="P">previous</a> |</li>
44
- <li class="nav-item nav-item-0"><a href="index.html">AMPS Python Client 5.3.4.2 documentation</a> &#187;</li>
44
+ <li class="nav-item nav-item-0"><a href="index.html">AMPS Python Client 5.3.4.3 documentation</a> &#187;</li>
45
45
  </ul>
46
46
  </div>
47
47
 
@@ -153,32 +153,41 @@ a function of a different signature than that shown, results in undefined behavi
153
153
 
154
154
  <dl class="class">
155
155
  <dt id="AMPS.Client">
156
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">Client</code><a class="headerlink" href="#AMPS.Client" title="Permalink to this definition">¶</a></dt>
156
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">Client</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client" title="Permalink to this definition">¶</a></dt>
157
157
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
158
- <blockquote>
159
- <div><p>The base AMPS Client object used in AMPS applications. Each Client object manages a single connection to AMPS. Each AMPS connection has a name, a specific transport (such as tcp), a protocol (used for framing messages to AMPS), and a message type (such as FIX or JSON).</p>
160
- <p>The Client object creates and manages a background thread, and sends and receives messages on that thread. The object provides both a synchronous interface for processing messages on the calling thread, and an asynchronous interface suitable for populating a queue to be processed by worker threads.</p>
161
- <p>Each Client has a name. The AMPS server uses this name for duplicate message detection, so the name of each instance of the client application should be unique.</p>
162
- <blockquote>
163
- <div><p>An example of a simple Python client publishing a JSON message is listed below:</p>
164
- <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">c</span> <span class="o">=</span> <span class="n">Client</span><span class="p">(</span><span class="s2">&quot;test_client&quot;</span><span class="p">)</span>
158
+ <p>The base AMPS Client object used in AMPS applications. Each Client
159
+ object manages a single connection to AMPS. Each AMPS connection has
160
+ a name, a specific transport (such as tcp), a protocol (used for framing
161
+ messages to AMPS), and a message type (such as FIX or JSON).</p>
162
+ <p>The Client object creates and manages a background thread, and sends and
163
+ receives messages on that thread. The object provides both a synchronous
164
+ interface for processing messages on the calling thread, and an
165
+ asynchronous interface suitable for populating a queue to be processed by
166
+ worker threads.</p>
167
+ <p>Each Client has a name. The AMPS server uses this name for duplicate
168
+ message detection, so the name of each instance of the client application
169
+ should be unique.</p>
170
+ <p>An example of a Python client publishing a JSON message is listed below:</p>
171
+ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">Client</span><span class="p">(</span><span class="s2">&quot;test_client&quot;</span><span class="p">)</span>
165
172
 
166
173
  <span class="k">try</span><span class="p">:</span>
167
- <span class="n">c</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;tcp://127.0.0.1:9004/json&quot;</span><span class="p">)</span>
168
- <span class="n">cid</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">logon</span><span class="p">()</span>
169
- <span class="n">c</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span><span class="s2">&quot;topic_name&quot;</span><span class="p">,</span><span class="s1">&#39;{&quot;a&quot;:1,&quot;b&quot;:&quot;2&quot;}&#39;</span><span class="p">)</span>
174
+ <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;tcp://127.0.0.1:9004/amps/json&quot;</span><span class="p">)</span>
175
+ <span class="n">client</span><span class="o">.</span><span class="n">logon</span><span class="p">()</span>
176
+ <span class="n">client</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span><span class="s2">&quot;topic_name&quot;</span><span class="p">,</span><span class="s1">&#39;{&quot;a&quot;:1,&quot;b&quot;:&quot;2&quot;}&#39;</span><span class="p">)</span>
170
177
  <span class="k">finally</span><span class="p">:</span>
171
- <span class="n">c</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
178
+ <span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
172
179
  </pre></div>
173
180
  </div>
174
- </div></blockquote>
175
- </div></blockquote>
176
- <p>Constructor arguments:</p>
181
+ <p><strong>Constructor Arguments:</strong></p>
177
182
  <table class="docutils field-list" frame="void" rules="none">
178
183
  <col class="field-name" />
179
184
  <col class="field-body" />
180
185
  <tbody valign="top">
181
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> &#8211; the unique name for this client. AMPS does not enforce specific restrictions on the character set used, however some protocols (for example, XML) may not allow specific characters. 60East recommends that the client name be meaningful, short, human readable, and avoid using control characters, newline characters, or square brackets.</td>
186
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> &#8211; The unique name for this client. AMPS does not enforce
187
+ specific restrictions on the character set used, however some protocols
188
+ (for example, XML) may not allow specific characters. 60East recommends
189
+ that the client name be meaningful, short, human readable, and avoid
190
+ using control characters, newline characters, or square brackets.</td>
182
191
  </tr>
183
192
  </tbody>
184
193
  </table>
@@ -189,12 +198,14 @@ a function of a different signature than that shown, results in undefined behavi
189
198
  <p>This class provides special values for bookmark subscriptions:</p>
190
199
  <blockquote>
191
200
  <div><ul class="simple">
192
- <li><code class="docutils literal"><span class="pre">EPOCH</span></code> begin the subscription at the beginning of the journal</li>
193
- <li><code class="docutils literal"><span class="pre">MOST_RECENT</span></code> begin the subscription at the first undiscarded message in the bookmark store, or at the end of the bookmark store if all messages have been discarded</li>
194
- <li><code class="docutils literal"><span class="pre">NOW</span></code> begin the subscription at the time that AMPS processes the subscription</li>
201
+ <li><code class="docutils literal"><span class="pre">EPOCH</span></code> - Begin the subscription at the beginning of the journal.</li>
202
+ <li><code class="docutils literal"><span class="pre">MOST_RECENT</span></code> - Begin the subscription at the first undiscarded message in the bookmark store, or at the end of the bookmark store if all messages have been discarded.</li>
203
+ <li><code class="docutils literal"><span class="pre">NOW</span></code> - Begin the subscription at the time that AMPS processes the subscription.</li>
195
204
  </ul>
196
205
  </div></blockquote>
197
- <p>For example, to begin a bookmark subscription at the beginning of the journal, provide <code class="docutils literal"><span class="pre">AMPS.Client.Bookmarks.EPOCH</span></code> as the bookmark in the call to <a class="reference internal" href="#AMPS.Client.bookmark_subscribe" title="AMPS.Client.bookmark_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">AMPS.Client.bookmark_subscribe()</span></code></a>.</p>
206
+ <p>For example, to begin a bookmark subscription at the beginning of the journal,
207
+ provide <code class="docutils literal"><span class="pre">AMPS.Client.Bookmarks.EPOCH</span></code> as the bookmark in the call to
208
+ <a class="reference internal" href="#AMPS.Client.bookmark_subscribe" title="AMPS.Client.bookmark_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">AMPS.Client.bookmark_subscribe()</span></code></a>.</p>
198
209
  </dd></dl>
199
210
 
200
211
  <dl class="class">
@@ -207,11 +218,21 @@ a function of a different signature than that shown, results in undefined behavi
207
218
  <dl class="method">
208
219
  <dt id="AMPS.Client.ack">
209
220
  <code class="descclassname">Client.</code><code class="descname">ack</code><span class="sig-paren">(</span><em>message</em>, <em>options=None) OR ack(topic</em>, <em>bookmark</em>, <em>options=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.ack" title="Permalink to this definition">¶</a></dt>
210
- <dd><p>ACKs a message queue message.</p>
211
- <p>:param message an AMPS.Message object to ack, OR
212
- :param topic The topic of the message to ACK
213
- :param bookmark The bookmark of the message to ACK.
214
- :param options An optional string to include in the ACK such as &#8216;cancel&#8217;.</p>
221
+ <dd><p>Acknowledges a message queue message.</p>
222
+ <table class="docutils field-list" frame="void" rules="none">
223
+ <col class="field-name" />
224
+ <col class="field-body" />
225
+ <tbody valign="top">
226
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
227
+ <li><strong>message</strong> &#8211; An <code class="docutils literal"><span class="pre">AMPS.Message</span></code> object to ack, OR</li>
228
+ <li><strong>topic</strong> &#8211; The topic of the message to ack.</li>
229
+ <li><strong>bookmark</strong> &#8211; The bookmark of the message to ack.</li>
230
+ <li><strong>options</strong> &#8211; An optional string to include in the ack such as &#8216;cancel&#8217;.</li>
231
+ </ul>
232
+ </td>
233
+ </tr>
234
+ </tbody>
235
+ </table>
215
236
  </dd></dl>
216
237
 
217
238
  <dl class="method">
@@ -222,7 +243,10 @@ a function of a different signature than that shown, results in undefined behavi
222
243
  <col class="field-name" />
223
244
  <col class="field-body" />
224
245
  <tbody valign="top">
225
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>listener_callable</strong> (<em>A python function</em><em> or </em><em>other callable that takes a single value</em>) &#8211; The function or callable to be called. This function will be passed True if a connection is established, False if a disconnect occurs. Notice that when a connection is established, the client has not yet logged in or completed any recovery steps. The application should not issue commands on the client until recovery is completed.</td>
246
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>listener_callable</strong> (<em>A python function</em><em> or </em><em>other callable that takes a single value.</em>) &#8211; The function or callable to be called. This function will be passed True if a
247
+ connection is established, False if a disconnect occurs. Notice that when a connection
248
+ is established, the client has not yet logged in or completed any recovery steps.
249
+ The application should not issue commands on the client until recovery is completed.</td>
226
250
  </tr>
227
251
  </tbody>
228
252
  </table>
@@ -231,19 +255,18 @@ a function of a different signature than that shown, results in undefined behavi
231
255
  <dl class="method">
232
256
  <dt id="AMPS.Client.add_message_handler">
233
257
  <code class="descclassname">Client.</code><code class="descname">add_message_handler</code><span class="sig-paren">(</span><em>command_id</em>, <em>message_handler</em>, <em>acks</em>, <em>is_subscribe</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.add_message_handler" title="Permalink to this definition">¶</a></dt>
234
- <dd><blockquote>
235
- <div>Add a message handler to the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> to handle messages and the
236
- requested acks sent in response to the given command_id.</div></blockquote>
258
+ <dd><p>Add a message handler to the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> to handle messages and the
259
+ requested acknowledgments sent in response to the given <code class="docutils literal"><span class="pre">command_id</span></code>.</p>
237
260
  <table class="docutils field-list" frame="void" rules="none">
238
261
  <col class="field-name" />
239
262
  <col class="field-body" />
240
263
  <tbody valign="top">
241
264
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
242
- <li><strong>command_id</strong> (<em>str</em>) &#8211; The command, query, or sub id for messages and acks.</li>
265
+ <li><strong>command_id</strong> (<em>str</em>) &#8211; The command, query, or sub ID for messages and acks.</li>
243
266
  <li><strong>message_handler</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler that will receive messages
244
- for the command_id.</li>
245
- <li><strong>acks</strong> (<em>int</em>) &#8211; The acks requested to go to the message_handler.</li>
246
- <li><strong>is_subscribe</strong> (<em>int</em>) &#8211; If the message_handler is for a subscribe command.</li>
267
+ for the <code class="docutils literal"><span class="pre">command_id</span></code>.</li>
268
+ <li><strong>acks</strong> (<em>str</em>) &#8211; The acknowledgments requested to go to the <code class="docutils literal"><span class="pre">message_handler</span></code>.</li>
269
+ <li><strong>is_subscribe</strong> (<em>int</em>) &#8211; If the <code class="docutils literal"><span class="pre">message_handler</span></code> is for a subscribe command.</li>
247
270
  </ul>
248
271
  </td>
249
272
  </tr>
@@ -260,11 +283,8 @@ for the command_id.</li>
260
283
  <dl class="method">
261
284
  <dt id="AMPS.Client.allocate_message">
262
285
  <code class="descclassname">Client.</code><code class="descname">allocate_message</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.allocate_message" title="Permalink to this definition">¶</a></dt>
263
- <dd><blockquote>
264
- <div><p>Creates a new <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> appropriate for this client.</p>
265
- <blockquote>
266
- <div>This function should be called rarely, since it does allocate a handful of small objects.</div></blockquote>
267
- </div></blockquote>
286
+ <dd><p>Creates a new <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> appropriate for this client.</p>
287
+ <p>This function should be called rarely, since it does allocate a handful of small objects.</p>
268
288
  <table class="docutils field-list" frame="void" rules="none">
269
289
  <col class="field-name" />
270
290
  <col class="field-body" />
@@ -277,31 +297,43 @@ for the command_id.</li>
277
297
 
278
298
  <dl class="method">
279
299
  <dt id="AMPS.Client.bookmark_subscribe">
280
- <code class="descclassname">Client.</code><code class="descname">bookmark_subscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>bookmark</em>, <em>filter=None</em>, <em>sub_id=None</em>, <em>options=None</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.bookmark_subscribe" title="Permalink to this definition">¶</a></dt>
281
- <dd><blockquote>
282
- <div><dl class="docutils">
283
- <dt>Places a bookmark subscription with AMPS. Starts replay at the most</dt>
284
- <dd>recent message reported by the <cite>bookmark</cite> parameter.</dd>
285
- </dl>
286
- </div></blockquote>
300
+ <code class="descclassname">Client.</code><code class="descname">bookmark_subscribe</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.bookmark_subscribe" title="Permalink to this definition">¶</a></dt>
301
+ <dd><p><strong>Signatures</strong>:</p>
302
+ <ul>
303
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.bookmark_subscribe(on_message,</span> <span class="pre">topic,</span> <span class="pre">bookmark,</span> <span class="pre">filter=None,</span> <span class="pre">sub_id=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0)</span></code></p>
304
+ </li>
305
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.bookmark_subscribe(topic,</span> <span class="pre">bookmark,</span> <span class="pre">filter=None,</span> <span class="pre">sub_id=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0)</span></code></p>
306
+ <p>Places a bookmark subscription with AMPS. Starts replay at the most recent message reported by the <code class="docutils literal"><span class="pre">bookmark</span></code> parameter.</p>
307
+ <p>There are two ways to use this method:</p>
308
+ <ol class="arabic simple">
309
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">bookmark_subscribe</span></code> command on a background
310
+ thread and calls the message handler with individual messages from the transaction log replay (if any) and
311
+ then cuts over to live messages that match the subscription.</li>
312
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
313
+ messages received from the transaction log replay (if any) and then cuts over to live messages that match
314
+ the subscription.</li>
315
+ </ol>
316
+ </li>
317
+ </ul>
287
318
  <table class="docutils field-list" frame="void" rules="none">
288
319
  <col class="field-name" />
289
320
  <col class="field-body" />
290
321
  <tbody valign="top">
291
322
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
292
- <li><strong>on_message</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with matching messages.</li>
293
- <li><strong>topic</strong> (<em>str</em>) &#8211; The <cite>Topic</cite> to subscribe to.</li>
294
- <li><strong>bookmark</strong> (<em>str</em>) &#8211; A bookmark identifier, or one of the constants from
295
- <a class="reference internal" href="#AMPS.Client.Bookmarks" title="AMPS.Client.Bookmarks"><code class="xref py py-class docutils literal"><span class="pre">Bookmarks</span></code></a></li>
323
+ <li><strong>on_message</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with matching messages
324
+ (specified only in the case where async processing is used).</li>
325
+ <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to subscribe to.</li>
326
+ <li><strong>bookmark</strong> (<em>str</em>) &#8211; A bookmark identifier or one of the constants from
327
+ <a class="reference internal" href="#AMPS.Client.Bookmarks" title="AMPS.Client.Bookmarks"><code class="xref py py-class docutils literal"><span class="pre">Bookmarks</span></code></a>.</li>
296
328
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
297
- <li><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID. You may optionally provide a
329
+ <li><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID. You may optionally provide a
298
330
  subscription ID to ease recovery scenarios, instead of having the
299
331
  system automatically generate one for you.
300
332
  When used with the &#8216;replace&#8217; option, this is the subscription to
301
333
  be replaced.
302
334
  With a bookmark store, this is the subscription ID used for
303
335
  recovery. So, when using a persistent bookmark store, provide an explicit
304
- subscription id that is consistent across application restarts.</li>
336
+ subscription ID that is consistent across application restarts.</li>
305
337
  <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated string of options. Default is <cite>None</cite>.</li>
306
338
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
307
339
  and consume a processed ack for this subscription
@@ -309,7 +341,12 @@ and consume a processed ack for this subscription
309
341
  </ul>
310
342
  </td>
311
343
  </tr>
312
- <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
344
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
345
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the
346
+ results of the command.</p>
347
+ </td>
348
+ </tr>
349
+ <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
313
350
  <a class="reference internal" href="#AMPS.BadFilterException" title="AMPS.BadFilterException"><code class="xref py py-exc docutils literal"><span class="pre">BadFilterException</span></code></a>, <a class="reference internal" href="#AMPS.BadRegexTopicException" title="AMPS.BadRegexTopicException"><code class="xref py py-exc docutils literal"><span class="pre">BadRegexTopicException</span></code></a>,
314
351
  <a class="reference internal" href="#AMPS.TimedOutException" title="AMPS.TimedOutException"><code class="xref py py-exc docutils literal"><span class="pre">TimedOutException</span></code></a>, <a class="reference internal" href="#AMPS.DisconnectedException" title="AMPS.DisconnectedException"><code class="xref py py-exc docutils literal"><span class="pre">DisconnectedException</span></code></a>.</p>
315
352
  </td>
@@ -327,47 +364,34 @@ and consume a processed ack for this subscription
327
364
  <dl class="method">
328
365
  <dt id="AMPS.Client.connect">
329
366
  <code class="descclassname">Client.</code><code class="descname">connect</code><span class="sig-paren">(</span><em>uri</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.connect" title="Permalink to this definition">¶</a></dt>
330
- <dd><blockquote>
331
- <div><p>Connects to the AMPS instance through the provided <code class="xref py py-class docutils literal"><span class="pre">URI</span></code>.</p>
367
+ <dd><p>Connects to the AMPS instance through the provided <code class="xref py py-class docutils literal"><span class="pre">URI</span></code>.</p>
332
368
  <blockquote>
333
369
  <div><dl class="docutils">
334
370
  <dt>The <code class="xref py py-class docutils literal"><span class="pre">URI</span></code> is a string with the format:</dt>
335
- <dd><code class="docutils literal"><span class="pre">transport://userId:password&#64;host:port/protocol</span></code> where:</dd>
371
+ <dd><code class="docutils literal"><span class="pre">transport://userId:password&#64;host:port/protocol</span></code></dd>
336
372
  </dl>
373
+ <p>The components of the <code class="xref py py-class docutils literal"><span class="pre">URI</span></code> are as follows:</p>
337
374
  <ul class="simple">
338
375
  <li><em>transport</em> &#8211; The network transport used for the connection.</li>
339
- <li><dl class="first docutils">
340
- <dt><em>userId</em> &#8211; If authentication is enabled, this is the unique user ID</dt>
341
- <dd>used to authenticate the connection.</dd>
342
- </dl>
343
- </li>
344
- <li><dl class="first docutils">
345
- <dt><em>password</em> &#8211; If authentication is enabled, this is the password used</dt>
346
- <dd>to authenticate the connection.</dd>
347
- </dl>
348
- </li>
349
- <li><dl class="first docutils">
350
- <dt><em>host</em> &#8211; The hostname or IP address of the host where AMPS is</dt>
351
- <dd>installed.</dd>
352
- </dl>
353
- </li>
376
+ <li><em>userId</em> &#8211; If authentication is enabled, this is the unique user ID used to authenticate the connection.</li>
377
+ <li><em>password</em> &#8211; If authentication is enabled, this is the password used to authenticate the connection.</li>
378
+ <li><em>host</em> &#8211; The hostname or IP address of the host where AMPS is installed.</li>
354
379
  <li><em>port</em> &#8211; The port to connect to the AMPS instance.</li>
355
380
  <li><em>protocol</em> &#8211; The protocol used by this connection.</li>
356
381
  </ul>
357
382
  <div class="admonition note">
358
383
  <p class="first admonition-title">Note</p>
359
- <p class="last">Authentication is optional, if the system is using the
360
- default authentication with AMPS which allows all users in without
384
+ <p class="last">Authentication is optional. If the system is using the
385
+ default authentication with AMPS, which allows all users in without
361
386
  regard for their <code class="docutils literal"><span class="pre">userId</span></code> or <code class="docutils literal"><span class="pre">password</span></code>, then the
362
387
  <code class="docutils literal"><span class="pre">userId:password&#64;</span></code> string can be omitted from the connect URI.</p>
363
388
  </div>
364
389
  </div></blockquote>
365
- </div></blockquote>
366
390
  <table class="docutils field-list" frame="void" rules="none">
367
391
  <col class="field-name" />
368
392
  <col class="field-body" />
369
393
  <tbody valign="top">
370
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>uri</strong> (<em>str</em>) &#8211; The :class`URI` used to connect to AMPS.</td>
394
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>uri</strong> (<em>str</em>) &#8211; The <code class="xref py py-class docutils literal"><span class="pre">URI</span></code> used to connect to AMPS.</td>
371
395
  </tr>
372
396
  <tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference internal" href="#AMPS.ConnectionException" title="AMPS.ConnectionException"><code class="xref py py-class docutils literal"><span class="pre">ConnectionException</span></code></a></td>
373
397
  </tr>
@@ -377,9 +401,9 @@ regard for their <code class="docutils literal"><span class="pre">userId</span><
377
401
 
378
402
  <dl class="method">
379
403
  <dt id="AMPS.Client.convert_version_to_number">
380
- <code class="descclassname">Client.</code><code class="descname">convert_version_to_number</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.convert_version_to_number" title="Permalink to this definition">¶</a></dt>
381
- <dd><p>convert_version_to_number(version)Converts the provided version string to a number using 2 digits for each dot.
382
- A value such as 4.0 will become 4000000 while 3.8.1.7 will return 3080107.</p>
404
+ <code class="descclassname">Client.</code><code class="descname">convert_version_to_number</code><span class="sig-paren">(</span><em>version</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.convert_version_to_number" title="Permalink to this definition">¶</a></dt>
405
+ <dd><p>Converts the provided version string to a number using 2 digits for each dot.
406
+ A value such as 4.0.0.0 will become 4000000 while 3.8.1.7 will return 3080107.</p>
383
407
  <table class="docutils field-list" frame="void" rules="none">
384
408
  <col class="field-name" />
385
409
  <col class="field-body" />
@@ -396,22 +420,18 @@ A value such as 4.0 will become 4000000 while 3.8.1.7 will return 3080107.</p>
396
420
  <dt id="AMPS.Client.deltaPublish">
397
421
  <code class="descclassname">Client.</code><code class="descname">deltaPublish</code><span class="sig-paren">(</span><em>topic</em>, <em>data</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.deltaPublish" title="Permalink to this definition">¶</a></dt>
398
422
  <dd><p>This is a legacy method name for <a class="reference internal" href="#AMPS.Client.delta_publish" title="AMPS.Client.delta_publish"><code class="xref py py-meth docutils literal"><span class="pre">delta_publish()</span></code></a>.</p>
399
- <blockquote>
400
- <div><div class="deprecated">
423
+ <div class="deprecated">
401
424
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.delta_publish" title="AMPS.Client.delta_publish"><code class="xref py py-func docutils literal"><span class="pre">delta_publish()</span></code></a> instead.</p>
402
425
  </div>
403
- </div></blockquote>
404
426
  </dd></dl>
405
427
 
406
428
  <dl class="method">
407
429
  <dt id="AMPS.Client.deltaSubscribe">
408
430
  <code class="descclassname">Client.</code><code class="descname">deltaSubscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>options=0</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.deltaSubscribe" title="Permalink to this definition">¶</a></dt>
409
431
  <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.delta_subscribe" title="AMPS.Client.delta_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">delta_subscribe()</span></code></a>.</p>
410
- <blockquote>
411
- <div><div class="deprecated">
432
+ <div class="deprecated">
412
433
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.delta_subscribe" title="AMPS.Client.delta_subscribe"><code class="xref py py-func docutils literal"><span class="pre">delta_subscribe()</span></code></a> instead.</p>
413
434
  </div>
414
- </div></blockquote>
415
435
  </dd></dl>
416
436
 
417
437
  <dl class="method">
@@ -427,9 +447,9 @@ then the client will store before forwarding the message to AMPS.</p>
427
447
  <col class="field-body" />
428
448
  <tbody valign="top">
429
449
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
430
- <li><strong>topic</strong> (<em>str</em>) &#8211; <cite>Topic</cite> to publish the data to.</li>
431
- <li><strong>data</strong> (<em>str</em>) &#8211; <cite>Data</cite> to publish to the topic.</li>
432
- <li><strong>expiration</strong> (<em>int</em>) &#8211; Number of seconds until published message should expire.</li>
450
+ <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to publish the data to.</li>
451
+ <li><strong>data</strong> (<em>str</em>) &#8211; The data to publish to the topic.</li>
452
+ <li><strong>expiration</strong> (<em>int</em>) &#8211; Number of seconds until published messages should expire.</li>
433
453
  </ul>
434
454
  </td>
435
455
  </tr>
@@ -446,15 +466,30 @@ or 0 if there is no publish store and the server is assigning sequence numbers.<
446
466
 
447
467
  <dl class="method">
448
468
  <dt id="AMPS.Client.delta_subscribe">
449
- <code class="descclassname">Client.</code><code class="descname">delta_subscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>options=0</em>, <em>timeout=0</em>, <em>sub_id=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.delta_subscribe" title="Permalink to this definition">¶</a></dt>
450
- <dd><p>Places a delta subscription with AMPS.</p>
469
+ <code class="descclassname">Client.</code><code class="descname">delta_subscribe</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.delta_subscribe" title="Permalink to this definition">¶</a></dt>
470
+ <dd><p><strong>Signatures</strong>:</p>
471
+ <ul>
472
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.delta_subscribe(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0,</span> <span class="pre">sub_id=None)</span></code></p>
473
+ </li>
474
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.delta_subscribe(topic,</span> <span class="pre">filter=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0,</span> <span class="pre">sub_id=None)</span></code></p>
475
+ <p>Places a delta subscription with AMPS.</p>
476
+ <p>There are two ways to use this method:</p>
477
+ <ol class="arabic simple">
478
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">delta_subscribe</span></code> command on a background thread
479
+ and calls the message handler with individual messages that match the subscription and that contain the updated fields.</li>
480
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
481
+ messages received that match the subscription and that contain the updated fields.</li>
482
+ </ol>
483
+ </li>
484
+ </ul>
451
485
  <table class="docutils field-list" frame="void" rules="none">
452
486
  <col class="field-name" />
453
487
  <col class="field-body" />
454
488
  <tbody valign="top">
455
489
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
456
- <li><strong>on_message</strong> (<em>str</em>) &#8211; The message handler to invoke with matching
457
- messages.</li>
490
+ <li><strong>on_message</strong> (<em>str</em>) &#8211; The message handler to invoke with matching messages
491
+ (specified only in the case where async processing
492
+ is used).</li>
458
493
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to subscribe to.</li>
459
494
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
460
495
  <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
@@ -465,12 +500,14 @@ consume the processed ack for this subscription
465
500
  <li><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID. You may optionally provide a
466
501
  subscription ID to ease recovery scenarios, instead of having the
467
502
  system automatically generate one for you.
468
- When used with the &#8216;replace&#8217; option, this is the subscription to
503
+ When used with the <code class="docutils literal"><span class="pre">replace</span></code> option, this is the subscription to
469
504
  be replaced.</li>
470
505
  </ul>
471
506
  </td>
472
507
  </tr>
473
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command.</p>
508
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
509
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the
510
+ results of the command.</p>
474
511
  </td>
475
512
  </tr>
476
513
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
@@ -490,15 +527,17 @@ be replaced.</li>
490
527
 
491
528
  <dl class="method">
492
529
  <dt id="AMPS.Client.execute">
493
- <code class="descclassname">Client.</code><code class="descname">execute</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.execute" title="Permalink to this definition">¶</a></dt>
494
- <dd><p>Executes a Command on self.</p>
530
+ <code class="descclassname">Client.</code><code class="descname">execute</code><span class="sig-paren">(</span><em>command</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.execute" title="Permalink to this definition">¶</a></dt>
531
+ <dd><p>Execute the provided command and process responses using a <code class="docutils literal"><span class="pre">MessageStream</span></code>. This method creates
532
+ a <code class="docutils literal"><span class="pre">Message</span></code> based on the provided <code class="docutils literal"><span class="pre">Command</span></code>, sends the <code class="docutils literal"><span class="pre">Message</span></code> to AMPS, and returns a
533
+ <code class="docutils literal"><span class="pre">MessageStream</span></code> that can be iterated on to process messages returned in response to the command.</p>
495
534
  <table class="docutils field-list" frame="void" rules="none">
496
535
  <col class="field-name" />
497
536
  <col class="field-body" />
498
537
  <tbody valign="top">
499
- <tr class="field-odd field"><th class="field-name">Param:</th><td class="field-body">An AMPS.Command to execute.</td>
538
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>command</strong> (<a class="reference internal" href="#AMPS.Command" title="AMPS.Command"><em>AMPS.Command</em></a>) &#8211; The command to execute.</td>
500
539
  </tr>
501
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A MessageStream to iterate over.</td>
540
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A <code class="docutils literal"><span class="pre">MessageStream</span></code> to iterate over.</td>
502
541
  </tr>
503
542
  </tbody>
504
543
  </table>
@@ -506,17 +545,20 @@ be replaced.</li>
506
545
 
507
546
  <dl class="method">
508
547
  <dt id="AMPS.Client.execute_async">
509
- <code class="descclassname">Client.</code><code class="descname">execute_async</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.execute_async" title="Permalink to this definition">¶</a></dt>
510
- <dd><p>Execute the provided command and process responses on the client receive thread using the provided handler.</p>
511
- <p>This method creates a <code class="docutils literal"><span class="pre">Message</span></code> based on the provided <code class="docutils literal"><span class="pre">Command</span></code>, sends the <code class="docutils literal"><span class="pre">Message</span></code> to AMPS, and invokes the provided handler to process messages returned in response to the command. Rather than providing messages on the calling thread, the AMPS Python client runs the handler directly on the client receive thread.</p>
512
- <p>When the provided handler is not <code class="docutils literal"><span class="pre">None</span></code>, this function blocks until AMPS acknowledges that the command has been processed. The results of the command after that acknowledgement are provided to the handler.</p>
548
+ <code class="descclassname">Client.</code><code class="descname">execute_async</code><span class="sig-paren">(</span><em>command</em>, <em>on_message</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.execute_async" title="Permalink to this definition">¶</a></dt>
549
+ <dd><p>Execute the provided command and process responses on the client receive thread using the provided handler.
550
+ This method creates a <code class="docutils literal"><span class="pre">Message</span></code> based on the provided <code class="docutils literal"><span class="pre">Command</span></code>, sends the <code class="docutils literal"><span class="pre">Message</span></code> to AMPS, and
551
+ invokes the provided handler to process messages returned in response to the command. Rather than providing
552
+ messages on the calling thread, the AMPS Python client runs the handler directly on the client receive thread.</p>
553
+ <p>When the provided handler is not <code class="docutils literal"><span class="pre">None</span></code>, this function blocks until AMPS acknowledges that the command has
554
+ been processed. The results of the command after that acknowledgment are provided to the handler.</p>
513
555
  <table class="docutils field-list" frame="void" rules="none">
514
556
  <col class="field-name" />
515
557
  <col class="field-body" />
516
558
  <tbody valign="top">
517
559
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
518
560
  <li><strong>command</strong> (<a class="reference internal" href="#AMPS.Command" title="AMPS.Command"><em>AMPS.Command</em></a>) &#8211; The command to execute.</li>
519
- <li><strong>on_message</strong> (<em>a function</em><em> or </em><em>other callable object.</em>) &#8211; A handler for messages returned by this command execution.</li>
561
+ <li><strong>on_message</strong> (<em>A function</em><em> or </em><em>other callable object.</em>) &#8211; A handler for messages returned by this command execution.</li>
520
562
  </ul>
521
563
  </td>
522
564
  </tr>
@@ -529,8 +571,18 @@ be replaced.</li>
529
571
 
530
572
  <dl class="method">
531
573
  <dt id="AMPS.Client.flush">
532
- <code class="descclassname">Client.</code><code class="descname">flush</code><span class="sig-paren">(</span><em>timeout = 0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.flush" title="Permalink to this definition">¶</a></dt>
574
+ <code class="descclassname">Client.</code><code class="descname">flush</code><span class="sig-paren">(</span><em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.flush" title="Permalink to this definition">¶</a></dt>
533
575
  <dd><p>Another name for <a class="reference internal" href="#AMPS.Client.publish_flush" title="AMPS.Client.publish_flush"><code class="xref py py-meth docutils literal"><span class="pre">publish_flush()</span></code></a>.</p>
576
+ <table class="docutils field-list" frame="void" rules="none">
577
+ <col class="field-name" />
578
+ <col class="field-body" />
579
+ <tbody valign="top">
580
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the messages to be acknowledged
581
+ as persisted, or for the flush command to be acknowledged
582
+ by AMPS (in milliseconds). <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</td>
583
+ </tr>
584
+ </tbody>
585
+ </table>
534
586
  </dd></dl>
535
587
 
536
588
  <dl class="method">
@@ -542,60 +594,112 @@ be replaced.</li>
542
594
  <dl class="method">
543
595
  <dt id="AMPS.Client.get_ack_batch_size">
544
596
  <code class="descclassname">Client.</code><code class="descname">get_ack_batch_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_ack_batch_size" title="Permalink to this definition">¶</a></dt>
545
- <dd><p>Returns the current batch size used for batching message queue ACK messages.</p>
597
+ <dd><p>Gets the current batch size used for batching message queue acknowledgment messages.</p>
598
+ <table class="docutils field-list" frame="void" rules="none">
599
+ <col class="field-name" />
600
+ <col class="field-body" />
601
+ <tbody valign="top">
602
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The current batch size used for batching message queue ack messages.</td>
603
+ </tr>
604
+ </tbody>
605
+ </table>
546
606
  </dd></dl>
547
607
 
548
608
  <dl class="method">
549
609
  <dt id="AMPS.Client.get_ack_timeout">
550
610
  <code class="descclassname">Client.</code><code class="descname">get_ack_timeout</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_ack_timeout" title="Permalink to this definition">¶</a></dt>
551
- <dd><p>Returns the current time (milliseconds) before queued ack messages are sent.</p>
611
+ <dd><p>Gets the current time (milliseconds) before queued acknowledgment messages are sent.</p>
612
+ <table class="docutils field-list" frame="void" rules="none">
613
+ <col class="field-name" />
614
+ <col class="field-body" />
615
+ <tbody valign="top">
616
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The current time (milliseconds) before queued ack messages are sent.</td>
617
+ </tr>
618
+ </tbody>
619
+ </table>
552
620
  </dd></dl>
553
621
 
554
622
  <dl class="method">
555
623
  <dt id="AMPS.Client.get_auto_ack">
556
624
  <code class="descclassname">Client.</code><code class="descname">get_auto_ack</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_auto_ack" title="Permalink to this definition">¶</a></dt>
557
- <dd><p>Returns True if auto-acknowledgement of message queue messages is enabled.</p>
625
+ <dd><p>Called to check if auto-acknowledgment of message queue messages is enabled.</p>
626
+ <table class="docutils field-list" frame="void" rules="none">
627
+ <col class="field-name" />
628
+ <col class="field-body" />
629
+ <tbody valign="top">
630
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, if auto-acknowledgment of message queue messages is enabled.</td>
631
+ </tr>
632
+ </tbody>
633
+ </table>
558
634
  </dd></dl>
559
635
 
560
636
  <dl class="method">
561
637
  <dt id="AMPS.Client.get_default_max_depth">
562
638
  <code class="descclassname">Client.</code><code class="descname">get_default_max_depth</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_default_max_depth" title="Permalink to this definition">¶</a></dt>
563
- <dd><p>:returns The current maximum depth for new MessageStreams, 0 is no maximum.</p>
639
+ <dd><p>Gets the maximum depth for any new <code class="docutils literal"><span class="pre">MessageStream</span></code>.</p>
640
+ <table class="docutils field-list" frame="void" rules="none">
641
+ <col class="field-name" />
642
+ <col class="field-body" />
643
+ <tbody valign="top">
644
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The current maximum depth for any new <code class="docutils literal"><span class="pre">MessageStream</span></code>. <code class="docutils literal"><span class="pre">0</span></code> is no maximum.</td>
645
+ </tr>
646
+ </tbody>
647
+ </table>
564
648
  </dd></dl>
565
649
 
566
650
  <dl class="method">
567
651
  <dt id="AMPS.Client.get_duplicate_message_handler">
568
652
  <code class="descclassname">Client.</code><code class="descname">get_duplicate_message_handler</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_duplicate_message_handler" title="Permalink to this definition">¶</a></dt>
569
- <dd><p>Returns the message handler object set with set_duplicate_message_handler.</p>
653
+ <dd><p>Gets the message handler object set with <a class="reference internal" href="#AMPS.Client.set_duplicate_message_handler" title="AMPS.Client.set_duplicate_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_duplicate_message_handler()</span></code></a>.</p>
654
+ <table class="docutils field-list" frame="void" rules="none">
655
+ <col class="field-name" />
656
+ <col class="field-body" />
657
+ <tbody valign="top">
658
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The message handler object set with <a class="reference internal" href="#AMPS.Client.set_duplicate_message_handler" title="AMPS.Client.set_duplicate_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_duplicate_message_handler()</span></code></a>.</td>
659
+ </tr>
660
+ </tbody>
661
+ </table>
570
662
  </dd></dl>
571
663
 
572
664
  <dl class="method">
573
665
  <dt id="AMPS.Client.get_error_on_publish_gap">
574
666
  <code class="descclassname">Client.</code><code class="descname">get_error_on_publish_gap</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_error_on_publish_gap" title="Permalink to this definition">¶</a></dt>
575
- <dd><blockquote>
576
- <div>Called to check if the Store will throw PublishStoreGapException.</div></blockquote>
577
- <dl class="docutils">
578
- <dt>:returns If true, PublishStoreGapException can be thrown</dt>
579
- <dd>by the client publish store if the client logs onto a server that
580
- appears to be missing messages no longer held in the store.</dd>
581
- </dl>
667
+ <dd><p>Called to check if the Store will throw <a class="reference internal" href="#AMPS.PublishStoreGapException" title="AMPS.PublishStoreGapException"><code class="xref py py-exc docutils literal"><span class="pre">PublishStoreGapException</span></code></a>.</p>
668
+ <table class="docutils field-list" frame="void" rules="none">
669
+ <col class="field-name" />
670
+ <col class="field-body" />
671
+ <tbody valign="top">
672
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">If true, <a class="reference internal" href="#AMPS.PublishStoreGapException" title="AMPS.PublishStoreGapException"><code class="xref py py-exc docutils literal"><span class="pre">PublishStoreGapException</span></code></a> can be thrown
673
+ by the client publish store if the client logs onto a server that
674
+ appears to be missing messages no longer held in the store.</td>
675
+ </tr>
676
+ </tbody>
677
+ </table>
582
678
  </dd></dl>
583
679
 
584
680
  <dl class="method">
585
681
  <dt id="AMPS.Client.get_exception_listener">
586
682
  <code class="descclassname">Client.</code><code class="descname">get_exception_listener</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_exception_listener" title="Permalink to this definition">¶</a></dt>
587
- <dd><p>Returns the exception listener callable set on self, or None.</p>
683
+ <dd><p>Gets the exception listener callable set on self.</p>
684
+ <table class="docutils field-list" frame="void" rules="none">
685
+ <col class="field-name" />
686
+ <col class="field-body" />
687
+ <tbody valign="top">
688
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The exception listener callable set on self, or None.</td>
689
+ </tr>
690
+ </tbody>
691
+ </table>
588
692
  </dd></dl>
589
693
 
590
694
  <dl class="method">
591
695
  <dt id="AMPS.Client.get_logon_correlation_data">
592
696
  <code class="descclassname">Client.</code><code class="descname">get_logon_correlation_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_logon_correlation_data" title="Permalink to this definition">¶</a></dt>
593
- <dd><p>Returns the data used to correlate the logon of this Client to the server.</p>
697
+ <dd><p>Gets the data used to correlate the logon of this <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> to the server.</p>
594
698
  <table class="docutils field-list" frame="void" rules="none">
595
699
  <col class="field-name" />
596
700
  <col class="field-body" />
597
701
  <tbody valign="top">
598
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">logon correlation data</td>
702
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The logon correlation data.</td>
599
703
  </tr>
600
704
  </tbody>
601
705
  </table>
@@ -604,12 +708,12 @@ appears to be missing messages no longer held in the store.</dd>
604
708
  <dl class="method">
605
709
  <dt id="AMPS.Client.get_name">
606
710
  <code class="descclassname">Client.</code><code class="descname">get_name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_name" title="Permalink to this definition">¶</a></dt>
607
- <dd><p>Returns the name of the <cite>Client</cite> object.</p>
711
+ <dd><p>Gets the name of the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> object.</p>
608
712
  <table class="docutils field-list" frame="void" rules="none">
609
713
  <col class="field-name" />
610
714
  <col class="field-body" />
611
715
  <tbody valign="top">
612
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">name</td>
716
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> name.</td>
613
717
  </tr>
614
718
  </tbody>
615
719
  </table>
@@ -618,12 +722,12 @@ appears to be missing messages no longer held in the store.</dd>
618
722
  <dl class="method">
619
723
  <dt id="AMPS.Client.get_name_hash">
620
724
  <code class="descclassname">Client.</code><code class="descname">get_name_hash</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_name_hash" title="Permalink to this definition">¶</a></dt>
621
- <dd><p>Returns the string name hash of the <cite>Client</cite> object.</p>
725
+ <dd><p>Gets the string name hash of the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> object.</p>
622
726
  <table class="docutils field-list" frame="void" rules="none">
623
727
  <col class="field-name" />
624
728
  <col class="field-body" />
625
729
  <tbody valign="top">
626
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">name hash string</td>
730
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The name hash string.</td>
627
731
  </tr>
628
732
  </tbody>
629
733
  </table>
@@ -632,12 +736,12 @@ appears to be missing messages no longer held in the store.</dd>
632
736
  <dl class="method">
633
737
  <dt id="AMPS.Client.get_name_hash_value">
634
738
  <code class="descclassname">Client.</code><code class="descname">get_name_hash_value</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_name_hash_value" title="Permalink to this definition">¶</a></dt>
635
- <dd><p>Returns the numeric name hash of the <cite>Client</cite> object.</p>
739
+ <dd><p>Gets the numeric name hash of the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> object.</p>
636
740
  <table class="docutils field-list" frame="void" rules="none">
637
741
  <col class="field-name" />
638
742
  <col class="field-body" />
639
743
  <tbody valign="top">
640
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">name hash int</td>
744
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The name hash int.</td>
641
745
  </tr>
642
746
  </tbody>
643
747
  </table>
@@ -646,18 +750,26 @@ appears to be missing messages no longer held in the store.</dd>
646
750
  <dl class="method">
647
751
  <dt id="AMPS.Client.get_retry_on_disconnect">
648
752
  <code class="descclassname">Client.</code><code class="descname">get_retry_on_disconnect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_retry_on_disconnect" title="Permalink to this definition">¶</a></dt>
649
- <dd><p>Returns True if automatic retry of a command to AMPS after a reconnect is enabled.</p>
753
+ <dd><p>Called to check if automatic retry of a command to AMPS after a reconnect is enabled.</p>
754
+ <table class="docutils field-list" frame="void" rules="none">
755
+ <col class="field-name" />
756
+ <col class="field-body" />
757
+ <tbody valign="top">
758
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">True, if automatic retry of a command to AMPS after a reconnect is enabled.</td>
759
+ </tr>
760
+ </tbody>
761
+ </table>
650
762
  </dd></dl>
651
763
 
652
764
  <dl class="method">
653
765
  <dt id="AMPS.Client.get_server_version">
654
766
  <code class="descclassname">Client.</code><code class="descname">get_server_version</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_server_version" title="Permalink to this definition">¶</a></dt>
655
- <dd><p>Returns the connected server&#8217;s version as a numeric value.</p>
767
+ <dd><p>Gets the connected server&#8217;s version as a numeric value.</p>
656
768
  <table class="docutils field-list" frame="void" rules="none">
657
769
  <col class="field-name" />
658
770
  <col class="field-body" />
659
771
  <tbody valign="top">
660
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The version converted to a number: server version 3.8.1.7 would be 3080107</td>
772
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The version converted to a number. For example, server version 3.8.1.7 would be 3080107.</td>
661
773
  </tr>
662
774
  </tbody>
663
775
  </table>
@@ -666,12 +778,12 @@ appears to be missing messages no longer held in the store.</dd>
666
778
  <dl class="method">
667
779
  <dt id="AMPS.Client.get_server_version_info">
668
780
  <code class="descclassname">Client.</code><code class="descname">get_server_version_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_server_version_info" title="Permalink to this definition">¶</a></dt>
669
- <dd><p>Returns the connected server&#8217;s version as a VersionInfo.</p>
781
+ <dd><p>Gets the connected server&#8217;s version as a VersionInfo.</p>
670
782
  <table class="docutils field-list" frame="void" rules="none">
671
783
  <col class="field-name" />
672
784
  <col class="field-body" />
673
785
  <tbody valign="top">
674
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The version in a VersionInfo</td>
786
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The version in a VersionInfo.</td>
675
787
  </tr>
676
788
  </tbody>
677
789
  </table>
@@ -680,12 +792,12 @@ appears to be missing messages no longer held in the store.</dd>
680
792
  <dl class="method">
681
793
  <dt id="AMPS.Client.get_unpersisted_count">
682
794
  <code class="descclassname">Client.</code><code class="descname">get_unpersisted_count</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_unpersisted_count" title="Permalink to this definition">¶</a></dt>
683
- <dd><p>Returns the count of unpersisted publishes.</p>
795
+ <dd><p>Gets the count of unpersisted publishes.</p>
684
796
  <table class="docutils field-list" frame="void" rules="none">
685
797
  <col class="field-name" />
686
798
  <col class="field-body" />
687
799
  <tbody valign="top">
688
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">count of unpersisted publishes.</td>
800
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The count of unpersisted publishes.</td>
689
801
  </tr>
690
802
  </tbody>
691
803
  </table>
@@ -694,13 +806,12 @@ appears to be missing messages no longer held in the store.</dd>
694
806
  <dl class="method">
695
807
  <dt id="AMPS.Client.get_uri">
696
808
  <code class="descclassname">Client.</code><code class="descname">get_uri</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.get_uri" title="Permalink to this definition">¶</a></dt>
697
- <dd><p>Returns the <code class="xref py py-class docutils literal"><span class="pre">URI</span></code> string passed into the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>
698
- during the <a class="reference internal" href="#AMPS.Client.connect" title="AMPS.Client.connect"><code class="xref py py-meth docutils literal"><span class="pre">connect()</span></code></a> invocation.</p>
809
+ <dd><p>Gets the <code class="xref py py-class docutils literal"><span class="pre">URI</span></code> string passed into the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> during the <a class="reference internal" href="#AMPS.Client.connect" title="AMPS.Client.connect"><code class="xref py py-meth docutils literal"><span class="pre">connect()</span></code></a> invocation.</p>
699
810
  <table class="docutils field-list" frame="void" rules="none">
700
811
  <col class="field-name" />
701
812
  <col class="field-body" />
702
813
  <tbody valign="top">
703
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">uri</td>
814
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The URI string.</td>
704
815
  </tr>
705
816
  </tbody>
706
817
  </table>
@@ -708,7 +819,7 @@ during the <a class="reference internal" href="#AMPS.Client.connect" title="AMPS
708
819
 
709
820
  <dl class="method">
710
821
  <dt id="AMPS.Client.logon">
711
- <code class="descclassname">Client.</code><code class="descname">logon</code><span class="sig-paren">(</span><em>timeout=0</em>, <em>authenticator=AMPS.DefaultAuthenticator</em>, <em>options=''</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.logon" title="Permalink to this definition">¶</a></dt>
822
+ <code class="descclassname">Client.</code><code class="descname">logon</code><span class="sig-paren">(</span><em>timeout=0</em>, <em>authenticator=AMPS.DefaultAuthenticator</em>, <em>options=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.logon" title="Permalink to this definition">¶</a></dt>
712
823
  <dd><p>Logs into AMPS with the parameters provided in the <a class="reference internal" href="#AMPS.Client.connect" title="AMPS.Client.connect"><code class="xref py py-meth docutils literal"><span class="pre">connect()</span></code></a> method.</p>
713
824
  <table class="docutils field-list" frame="void" rules="none">
714
825
  <col class="field-name" />
@@ -717,10 +828,9 @@ during the <a class="reference internal" href="#AMPS.Client.connect" title="AMPS
717
828
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
718
829
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the command to
719
830
  receive a processed ack from AMPS for the logon command
720
- (in milliseconds). <code class="docutils literal"><span class="pre">0`</span></code> indicates to wait indefinitely.</li>
831
+ (in milliseconds). <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
721
832
  <li><strong>authenticator</strong> (<em>Authenticator</em>) &#8211; An <cite>Authenticator</cite> object used to negotiate logon.</li>
722
- <li><strong>options</strong> (<em>string</em>) &#8211; An options string to pass to the server such as ack_conflation=10ms
723
- execute (milliseconds). <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
833
+ <li><strong>options</strong> (<em>string</em>) &#8211; An options string to be passed to the server during logon, such as <code class="docutils literal"><span class="pre">ack_conflation=100ms</span></code>.</li>
724
834
  </ul>
725
835
  </td>
726
836
  </tr>
@@ -737,12 +847,12 @@ execute (milliseconds). <code class="docutils literal"><span class="pre">0</span
737
847
  <dl class="method">
738
848
  <dt id="AMPS.Client.name">
739
849
  <code class="descclassname">Client.</code><code class="descname">name</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.name" title="Permalink to this definition">¶</a></dt>
740
- <dd><p>Returns the name of the <cite>Client</cite> object.</p>
850
+ <dd><p>The name of the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> object.</p>
741
851
  <table class="docutils field-list" frame="void" rules="none">
742
852
  <col class="field-name" />
743
853
  <col class="field-body" />
744
854
  <tbody valign="top">
745
- <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">name</td>
855
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> name.</td>
746
856
  </tr>
747
857
  </tbody>
748
858
  </table>
@@ -751,13 +861,10 @@ execute (milliseconds). <code class="docutils literal"><span class="pre">0</span
751
861
  <dl class="method">
752
862
  <dt id="AMPS.Client.publish">
753
863
  <code class="descclassname">Client.</code><code class="descname">publish</code><span class="sig-paren">(</span><em>topic</em>, <em>data</em>, <em>expiration=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.publish" title="Permalink to this definition">¶</a></dt>
754
- <dd><p>Publish a mesage to an AMPS topic.
755
- This method does not wait for a response from the AMPS server.
756
- To detect failure, install a failed write handler.
757
- If the client was created with a persistent store on construction,
758
- then the client will store before forwarding the message to AMPS.
759
- If a DisconnectException occurs, the message
760
- is still stored in the publish store.</p>
864
+ <dd><p>Publish a message to an AMPS topic. This method does not wait for a response from the AMPS server.
865
+ To detect failure, install a failed write handler. If the client was created with a persistent store
866
+ on construction, then the client will store before forwarding the message to AMPS. If a <code class="docutils literal"><span class="pre">DisconnectException</span></code>
867
+ occurs, the message is still stored in the publish store.</p>
761
868
  <table class="docutils field-list" frame="void" rules="none">
762
869
  <col class="field-name" />
763
870
  <col class="field-body" />
@@ -773,7 +880,7 @@ is still stored in the publish store.</p>
773
880
  or 0 if there is no publish store and the server is assigning sequence numbers.</p>
774
881
  </td>
775
882
  </tr>
776
- <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.DisconnectedException" title="AMPS.DisconnectedException"><code class="xref py py-exc docutils literal"><span class="pre">DisconnectedException</span></code></a> The client is not connected; the program needs to call connect()</p>
883
+ <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.DisconnectedException" title="AMPS.DisconnectedException"><code class="xref py py-exc docutils literal"><span class="pre">DisconnectedException</span></code></a></p>
777
884
  </td>
778
885
  </tr>
779
886
  </tbody>
@@ -782,9 +889,19 @@ or 0 if there is no publish store and the server is assigning sequence numbers.<
782
889
 
783
890
  <dl class="method">
784
891
  <dt id="AMPS.Client.publish_flush">
785
- <code class="descclassname">Client.</code><code class="descname">publish_flush</code><span class="sig-paren">(</span><em>timeout = 0</em>, <em>ack_type = Message.AckType.ProcessedEnum</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.publish_flush" title="Permalink to this definition">¶</a></dt>
786
- <dd><blockquote>
787
- <div>Ensures that pending AMPS messages are sent and have been processed by the AMPS server. When the client has a publish store configured, waits until all messages that are in the store at the time the command is called have been acknowledged by AMPS. Otherwise, issues a <code class="docutils literal"><span class="pre">flush</span></code> command and waits for the server to acknowledge that command. This method blocks until messages have been processed or until the timeout expires, and is most useful when the application reaches a point at which it is acceptable to block to ensure that messages are delivered to the AMPS server. For example, an application might call publish_flush before exiting. One thing to note is that if AMPS is unavailable (HA Client), publish_flush needs to wait for a connection to come back up which may look like it&#8217;s hanging.</div></blockquote>
892
+ <code class="descclassname">Client.</code><code class="descname">publish_flush</code><span class="sig-paren">(</span><em>timeout=0</em>, <em>ack_type=Message.AckType.ProcessedEnum</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.publish_flush" title="Permalink to this definition">¶</a></dt>
893
+ <dd><p>Ensures that pending AMPS messages are sent and have been processed by the
894
+ AMPS server. When the client has a publish store configured, waits until
895
+ all messages that are in the store at the time the command is called have
896
+ been acknowledged by AMPS. Otherwise, issues a <code class="docutils literal"><span class="pre">flush</span></code> command
897
+ and waits for the server to acknowledge that command.</p>
898
+ <p>This method blocks until messages have been processed or
899
+ until the timeout expires, and is most useful when the application reaches
900
+ a point at which it is acceptable to block to ensure that messages are
901
+ delivered to the AMPS server. For example, an application might call
902
+ <code class="docutils literal"><span class="pre">publish_flush</span></code> before exiting.</p>
903
+ <p>One thing to note is that if AMPS is unavailable (HA Client), <code class="docutils literal"><span class="pre">publish_flush</span></code>
904
+ needs to wait for a connection to come back up, which may look like it&#8217;s hanging.</p>
788
905
  <table class="docutils field-list" frame="void" rules="none">
789
906
  <col class="field-name" />
790
907
  <col class="field-body" />
@@ -792,9 +909,9 @@ or 0 if there is no publish store and the server is assigning sequence numbers.<
792
909
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
793
910
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the messages to be acknowledged
794
911
  as persisted, or for the flush command to be acknowledged
795
- by AMPS (in milliseconds), or 0 to wait indefinitely.</li>
912
+ by AMPS (in milliseconds). <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
796
913
  <li><strong>ack_type</strong> (<em>int</em>) &#8211; Whether the command should wait for a Processed or a
797
- Persisted ack when sending the <cite>flush</cite> command.</li>
914
+ Persisted ack when sending the <code class="docutils literal"><span class="pre">flush</span></code> command.</li>
798
915
  </ul>
799
916
  </td>
800
917
  </tr>
@@ -805,19 +922,26 @@ Persisted ack when sending the <cite>flush</cite> command.</li>
805
922
  <dl class="method">
806
923
  <dt id="AMPS.Client.remove_connection_state_listener">
807
924
  <code class="descclassname">Client.</code><code class="descname">remove_connection_state_listener</code><span class="sig-paren">(</span><em>listener_callable</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.remove_connection_state_listener" title="Permalink to this definition">¶</a></dt>
808
- <dd><p>Removes a listener function previously supplied to add_connection_state_listener.</p>
925
+ <dd><p>Removes a listener function previously supplied to <a class="reference internal" href="#AMPS.Client.add_connection_state_listener" title="AMPS.Client.add_connection_state_listener"><code class="xref py py-meth docutils literal"><span class="pre">add_connection_state_listener()</span></code></a>.</p>
926
+ <table class="docutils field-list" frame="void" rules="none">
927
+ <col class="field-name" />
928
+ <col class="field-body" />
929
+ <tbody valign="top">
930
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>listener_callable</strong> (<em>A python function</em><em> or </em><em>other callable that takes a single value.</em>) &#8211; The function or callable to be removed.</td>
931
+ </tr>
932
+ </tbody>
933
+ </table>
809
934
  </dd></dl>
810
935
 
811
936
  <dl class="method">
812
937
  <dt id="AMPS.Client.remove_message_handler">
813
938
  <code class="descclassname">Client.</code><code class="descname">remove_message_handler</code><span class="sig-paren">(</span><em>command_id</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.remove_message_handler" title="Permalink to this definition">¶</a></dt>
814
- <dd><blockquote>
815
- <div>Remove a message handler from the <code class="xref py py-class docutils literal"><span class="pre">Client.</span></code></div></blockquote>
939
+ <dd><p>Remove a message handler from the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>.</p>
816
940
  <table class="docutils field-list" frame="void" rules="none">
817
941
  <col class="field-name" />
818
942
  <col class="field-body" />
819
943
  <tbody valign="top">
820
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>command_id</strong> (<em>str</em>) &#8211; The command_id for the handler to remove.</td>
944
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>command_id</strong> (<em>str</em>) &#8211; The command ID for the handler to remove.</td>
821
945
  </tr>
822
946
  </tbody>
823
947
  </table>
@@ -826,12 +950,7 @@ Persisted ack when sending the <cite>flush</cite> command.</li>
826
950
  <dl class="method">
827
951
  <dt id="AMPS.Client.send">
828
952
  <code class="descclassname">Client.</code><code class="descname">send</code><span class="sig-paren">(</span><em>message</em>, <em>message_handler=None</em>, <em>timeout=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.send" title="Permalink to this definition">¶</a></dt>
829
- <dd><blockquote>
830
- <div><dl class="docutils">
831
- <dt>Send a <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> to AMPS via the <code class="xref py py-class docutils literal"><span class="pre">Transport</span></code> used in</dt>
832
- <dd>the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>.</dd>
833
- </dl>
834
- </div></blockquote>
953
+ <dd><p>Send a <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> to AMPS via the <code class="xref py py-class docutils literal"><span class="pre">Transport</span></code> used in the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>.</p>
835
954
  <table class="docutils field-list" frame="void" rules="none">
836
955
  <col class="field-name" />
837
956
  <col class="field-body" />
@@ -857,95 +976,102 @@ one is not assigned.</p>
857
976
  <dl class="method">
858
977
  <dt id="AMPS.Client.setDisconnectHandler">
859
978
  <code class="descclassname">Client.</code><code class="descname">setDisconnectHandler</code><span class="sig-paren">(</span><em>client_disconnect_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.setDisconnectHandler" title="Permalink to this definition">¶</a></dt>
860
- <dd><dl class="docutils">
861
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_disconnect_handler()</span></code></a></dt>
862
- <dd><div class="first last deprecated">
979
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_disconnect_handler()</span></code></a>.</p>
980
+ <div class="deprecated">
863
981
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-func docutils literal"><span class="pre">set_disconnect_handler()</span></code></a> instead.</p>
864
982
  </div>
865
- </dd>
866
- </dl>
867
983
  </dd></dl>
868
984
 
869
985
  <dl class="method">
870
986
  <dt id="AMPS.Client.setExceptionListener">
871
987
  <code class="descclassname">Client.</code><code class="descname">setExceptionListener</code><span class="sig-paren">(</span><em>exception_listener</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.setExceptionListener" title="Permalink to this definition">¶</a></dt>
872
- <dd><dl class="docutils">
873
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_exception_listener" title="AMPS.Client.set_exception_listener"><code class="xref py py-meth docutils literal"><span class="pre">set_exception_listener()</span></code></a>.</dt>
874
- <dd><div class="first last deprecated">
988
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_exception_listener" title="AMPS.Client.set_exception_listener"><code class="xref py py-meth docutils literal"><span class="pre">set_exception_listener()</span></code></a>.</p>
989
+ <div class="deprecated">
875
990
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_exception_listener" title="AMPS.Client.set_exception_listener"><code class="xref py py-func docutils literal"><span class="pre">set_exception_listener()</span></code></a> instead.</p>
876
991
  </div>
877
- </dd>
878
- </dl>
879
992
  </dd></dl>
880
993
 
881
994
  <dl class="method">
882
995
  <dt id="AMPS.Client.setName">
883
996
  <code class="descclassname">Client.</code><code class="descname">setName</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.setName" title="Permalink to this definition">¶</a></dt>
884
- <dd><dl class="docutils">
885
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_name" title="AMPS.Client.set_name"><code class="xref py py-meth docutils literal"><span class="pre">set_name()</span></code></a>.</dt>
886
- <dd><div class="first last deprecated">
997
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_name" title="AMPS.Client.set_name"><code class="xref py py-meth docutils literal"><span class="pre">set_name()</span></code></a>.</p>
998
+ <div class="deprecated">
887
999
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_name" title="AMPS.Client.set_name"><code class="xref py py-func docutils literal"><span class="pre">set_name()</span></code></a> instead.</p>
888
1000
  </div>
889
- </dd>
890
- </dl>
891
1001
  </dd></dl>
892
1002
 
893
1003
  <dl class="method">
894
1004
  <dt id="AMPS.Client.setOnDisconnectHandler">
895
1005
  <code class="descclassname">Client.</code><code class="descname">setOnDisconnectHandler</code><span class="sig-paren">(</span><em>client_disconnect_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.setOnDisconnectHandler" title="Permalink to this definition">¶</a></dt>
896
- <dd><dl class="docutils">
897
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_disconnect_handler()</span></code></a></dt>
898
- <dd><div class="first last deprecated">
1006
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_disconnect_handler()</span></code></a>.</p>
1007
+ <div class="deprecated">
899
1008
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_disconnect_handler" title="AMPS.Client.set_disconnect_handler"><code class="xref py py-func docutils literal"><span class="pre">set_disconnect_handler()</span></code></a> instead.</p>
900
1009
  </div>
901
- </dd>
902
- </dl>
903
1010
  </dd></dl>
904
1011
 
905
1012
  <dl class="method">
906
1013
  <dt id="AMPS.Client.setUnhandledMessageHandler">
907
1014
  <code class="descclassname">Client.</code><code class="descname">setUnhandledMessageHandler</code><span class="sig-paren">(</span><em>message_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.setUnhandledMessageHandler" title="Permalink to this definition">¶</a></dt>
908
- <dd><dl class="docutils">
909
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a>.</dt>
910
- <dd><div class="first last deprecated">
1015
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a>.</p>
1016
+ <div class="deprecated">
911
1017
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-func docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a> instead.</p>
912
1018
  </div>
913
- </dd>
914
- </dl>
915
1019
  </dd></dl>
916
1020
 
917
1021
  <dl class="method">
918
1022
  <dt id="AMPS.Client.set_ack_batch_size">
919
1023
  <code class="descclassname">Client.</code><code class="descname">set_ack_batch_size</code><span class="sig-paren">(</span><em>batch_size</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_ack_batch_size" title="Permalink to this definition">¶</a></dt>
920
- <dd><p>Sets the batch size used for batching message queue ACK messages.</p>
921
- <p>:param batch_size The number of ACK messages to batch before sending.</p>
1024
+ <dd><p>Sets the batch size used for batching message queue ack messages.</p>
1025
+ <table class="docutils field-list" frame="void" rules="none">
1026
+ <col class="field-name" />
1027
+ <col class="field-body" />
1028
+ <tbody valign="top">
1029
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>batch_size</strong> &#8211; The number of ack messages to batch before sending.</td>
1030
+ </tr>
1031
+ </tbody>
1032
+ </table>
922
1033
  </dd></dl>
923
1034
 
924
1035
  <dl class="method">
925
1036
  <dt id="AMPS.Client.set_ack_timeout">
926
1037
  <code class="descclassname">Client.</code><code class="descname">set_ack_timeout</code><span class="sig-paren">(</span><em>timeout</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_ack_timeout" title="Permalink to this definition">¶</a></dt>
927
1038
  <dd><p>Sets the time before queued ack messages are sent.</p>
928
- <p>:param timeout The maximum amount of time to wait after adding the first message to an acknowledgement batch before sending the batch, in milliseconds. 0 indicates that the client will wait until the batch is full. A value of 0 is not recommended unless the batch size is set to 1.</p>
1039
+ <table class="docutils field-list" frame="void" rules="none">
1040
+ <col class="field-name" />
1041
+ <col class="field-body" />
1042
+ <tbody valign="top">
1043
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timeout</strong> &#8211; The maximum amount of time to wait after adding the first message to an acknowledgment
1044
+ batch before sending the batch, in milliseconds. 0 indicates that the client will wait
1045
+ until the batch is full. A value of 0 is not recommended unless the batch size is set to 1.</td>
1046
+ </tr>
1047
+ </tbody>
1048
+ </table>
929
1049
  </dd></dl>
930
1050
 
931
1051
  <dl class="method">
932
1052
  <dt id="AMPS.Client.set_auto_ack">
933
1053
  <code class="descclassname">Client.</code><code class="descname">set_auto_ack</code><span class="sig-paren">(</span><em>enabled</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_auto_ack" title="Permalink to this definition">¶</a></dt>
934
- <dd><p>Enables or disables auto-acknowledgement of message queue messages.</p>
935
- <p>:param enabled True to enable auto-acknowledgement of message queue messages.</p>
1054
+ <dd><p>Enables or disables auto-acknowledgment of message queue messages.</p>
1055
+ <table class="docutils field-list" frame="void" rules="none">
1056
+ <col class="field-name" />
1057
+ <col class="field-body" />
1058
+ <tbody valign="top">
1059
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>enabled</strong> (<em>Boolean</em>) &#8211; True to enable auto-acknowledgment of message queue messages.</td>
1060
+ </tr>
1061
+ </tbody>
1062
+ </table>
936
1063
  </dd></dl>
937
1064
 
938
1065
  <dl class="method">
939
1066
  <dt id="AMPS.Client.set_bookmark_store">
940
- <code class="descclassname">Client.</code><code class="descname">set_bookmark_store</code><span class="sig-paren">(</span><em>bookmarkStore</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_bookmark_store" title="Permalink to this definition">¶</a></dt>
1067
+ <code class="descclassname">Client.</code><code class="descname">set_bookmark_store</code><span class="sig-paren">(</span><em>bookmark_store</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_bookmark_store" title="Permalink to this definition">¶</a></dt>
941
1068
  <dd><p>Sets a bookmark store on self.</p>
942
1069
  <table class="docutils field-list" frame="void" rules="none">
943
1070
  <col class="field-name" />
944
1071
  <col class="field-body" />
945
1072
  <tbody valign="top">
946
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>bookmarkStore</strong> &#8211; an <a class="reference internal" href="#AMPS.MMapBookmarkStore" title="AMPS.MMapBookmarkStore"><code class="xref py py-class docutils literal"><span class="pre">MMapBookmarkStore</span></code></a> or
947
- <a class="reference internal" href="#AMPS.MemoryBookmarkStore" title="AMPS.MemoryBookmarkStore"><code class="xref py py-class docutils literal"><span class="pre">MemoryBookmarkStore</span></code></a> instance, or a custom object that
948
- implements the required bookmark store methods.</td>
1073
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>bookmark_store</strong> &#8211; A <a class="reference internal" href="#AMPS.MMapBookmarkStore" title="AMPS.MMapBookmarkStore"><code class="xref py py-class docutils literal"><span class="pre">MMapBookmarkStore</span></code></a> or <a class="reference internal" href="#AMPS.MemoryBookmarkStore" title="AMPS.MemoryBookmarkStore"><code class="xref py py-class docutils literal"><span class="pre">MemoryBookmarkStore</span></code></a> instance,
1074
+ or a custom object that implements the required bookmark store methods.</td>
949
1075
  </tr>
950
1076
  </tbody>
951
1077
  </table>
@@ -954,26 +1080,23 @@ implements the required bookmark store methods.</td>
954
1080
  <dl class="method">
955
1081
  <dt id="AMPS.Client.set_default_max_depth">
956
1082
  <code class="descclassname">Client.</code><code class="descname">set_default_max_depth</code><span class="sig-paren">(</span><em>depth</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_default_max_depth" title="Permalink to this definition">¶</a></dt>
957
- <dd><blockquote>
958
- <div><dl class="docutils">
959
- <dt>Sets a default maximum depth for all new MessageStream objects</dt>
960
- <dd>that are returned from synchronous API calls such as execute().</dd>
961
- </dl>
962
- </div></blockquote>
963
- <p>:param depth The new depth to use. A depth of 0 means no max and is the default.
964
- :type depth: int.</p>
1083
+ <dd><p>Sets a default maximum depth for all new <code class="docutils literal"><span class="pre">MessageStream</span></code> objects
1084
+ that are returned from synchronous API calls such as <a class="reference internal" href="#AMPS.Client.execute" title="AMPS.Client.execute"><code class="xref py py-meth docutils literal"><span class="pre">execute()</span></code></a>.</p>
1085
+ <table class="docutils field-list" frame="void" rules="none">
1086
+ <col class="field-name" />
1087
+ <col class="field-body" />
1088
+ <tbody valign="top">
1089
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>depth</strong> (<em>int</em>) &#8211; The new depth to use. A depth of <code class="docutils literal"><span class="pre">0</span></code> means no max and is the default.</td>
1090
+ </tr>
1091
+ </tbody>
1092
+ </table>
965
1093
  </dd></dl>
966
1094
 
967
1095
  <dl class="method">
968
1096
  <dt id="AMPS.Client.set_disconnect_handler">
969
1097
  <code class="descclassname">Client.</code><code class="descname">set_disconnect_handler</code><span class="sig-paren">(</span><em>client_disconnect_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_disconnect_handler" title="Permalink to this definition">¶</a></dt>
970
- <dd><blockquote>
971
- <div><dl class="docutils">
972
- <dt>Sets the <code class="xref py py-class docutils literal"><span class="pre">DisconnectHandler</span></code> used by the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>. In</dt>
973
- <dd>the event that the <cite>Client</cite> is unintentionally disconnected from AMPS, the invoke
974
- method from the <code class="xref py py-class docutils literal"><span class="pre">ClientDisconnectHandler</span></code> will be invoked.</dd>
975
- </dl>
976
- </div></blockquote>
1098
+ <dd><p>Sets the <code class="xref py py-class docutils literal"><span class="pre">DisconnectHandler</span></code> used by the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>. In the event that the <cite>Client</cite> is unintentionally
1099
+ disconnected from AMPS, the invoke method from the <code class="xref py py-class docutils literal"><span class="pre">ClientDisconnectHandler</span></code> will be invoked.</p>
977
1100
  <table class="docutils field-list" frame="void" rules="none">
978
1101
  <col class="field-name" />
979
1102
  <col class="field-body" />
@@ -987,18 +1110,13 @@ method from the <code class="xref py py-class docutils literal"><span class="pre
987
1110
  <dl class="method">
988
1111
  <dt id="AMPS.Client.set_duplicate_message_handler">
989
1112
  <code class="descclassname">Client.</code><code class="descname">set_duplicate_message_handler</code><span class="sig-paren">(</span><em>message_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_duplicate_message_handler" title="Permalink to this definition">¶</a></dt>
990
- <dd><blockquote>
991
- <div><dl class="docutils">
992
- <dt>Sets the <code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code> instance used for messages that arrive from AMPS</dt>
993
- <dd>that are deemed to be duplicates of previous messages, according to the local bookmark store.</dd>
994
- </dl>
995
- </div></blockquote>
1113
+ <dd><p>Sets the <code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code> instance used for messages that arrive from AMPS that are deemed to be duplicates
1114
+ of previous messages, according to the local bookmark store.</p>
996
1115
  <table class="docutils field-list" frame="void" rules="none">
997
1116
  <col class="field-name" />
998
1117
  <col class="field-body" />
999
1118
  <tbody valign="top">
1000
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message_handler</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke for duplicates
1001
- messages.</td>
1119
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>message_handler</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke for duplicate messages.</td>
1002
1120
  </tr>
1003
1121
  </tbody>
1004
1122
  </table>
@@ -1007,14 +1125,13 @@ messages.</td>
1007
1125
  <dl class="method">
1008
1126
  <dt id="AMPS.Client.set_error_on_publish_gap">
1009
1127
  <code class="descclassname">Client.</code><code class="descname">set_error_on_publish_gap</code><span class="sig-paren">(</span><em>error_on_publish_gap</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_error_on_publish_gap" title="Permalink to this definition">¶</a></dt>
1010
- <dd><blockquote>
1011
- <div>Called to enable or disable throwing PublishStoreGapException.</div></blockquote>
1128
+ <dd><p>Called to enable or disable throwing <a class="reference internal" href="#AMPS.PublishStoreGapException" title="AMPS.PublishStoreGapException"><code class="xref py py-exc docutils literal"><span class="pre">PublishStoreGapException</span></code></a>.</p>
1012
1129
  <table class="docutils field-list" frame="void" rules="none">
1013
1130
  <col class="field-name" />
1014
1131
  <col class="field-body" />
1015
1132
  <tbody valign="top">
1016
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>error_on_publish_gap</strong> (<em>Boolean</em>) &#8211; If true, PublishStoreGapException can be thrown
1017
- by the client publish store if the client logs onto a server that
1133
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>error_on_publish_gap</strong> (<em>Boolean</em>) &#8211; If true, <a class="reference internal" href="#AMPS.PublishStoreGapException" title="AMPS.PublishStoreGapException"><code class="xref py py-exc docutils literal"><span class="pre">PublishStoreGapException</span></code></a> can be thrown by the
1134
+ client publish store if the client logs onto a server that
1018
1135
  appears to be missing messages no longer held in the store.</td>
1019
1136
  </tr>
1020
1137
  </tbody>
@@ -1024,18 +1141,12 @@ appears to be missing messages no longer held in the store.</td>
1024
1141
  <dl class="method">
1025
1142
  <dt id="AMPS.Client.set_exception_listener">
1026
1143
  <code class="descclassname">Client.</code><code class="descname">set_exception_listener</code><span class="sig-paren">(</span><em>exception_listener</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_exception_listener" title="Permalink to this definition">¶</a></dt>
1027
- <dd><blockquote>
1028
- <div><dl class="docutils">
1029
- <dt>Sets the exception listener instance used for communicating</dt>
1030
- <dd>absorbed exceptions.</dd>
1031
- </dl>
1032
- </div></blockquote>
1144
+ <dd><p>Sets the exception listener instance used for communicating absorbed exceptions.</p>
1033
1145
  <table class="docutils field-list" frame="void" rules="none">
1034
1146
  <col class="field-name" />
1035
1147
  <col class="field-body" />
1036
1148
  <tbody valign="top">
1037
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>exception_listener</strong> (<code class="xref py py-exc docutils literal"><span class="pre">Exception</span></code>) &#8211; The exception listener instance to invoke
1038
- for exceptions.</td>
1149
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>exception_listener</strong> (<code class="xref py py-exc docutils literal"><span class="pre">Exception</span></code>) &#8211; The exception listener instance to invoke for exceptions.</td>
1039
1150
  </tr>
1040
1151
  </tbody>
1041
1152
  </table>
@@ -1045,39 +1156,42 @@ for exceptions.</td>
1045
1156
  <dt id="AMPS.Client.set_failed_write_handler">
1046
1157
  <code class="descclassname">Client.</code><code class="descname">set_failed_write_handler</code><span class="sig-paren">(</span><em>failedWriteHandler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_failed_write_handler" title="Permalink to this definition">¶</a></dt>
1047
1158
  <dd><p>Sets a failed write handler on self.</p>
1048
- <table class="docutils field-list" frame="void" rules="none">
1049
- <col class="field-name" />
1050
- <col class="field-body" />
1051
- <tbody valign="top">
1052
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>failedWriteHandler</strong> &#8211; a callable object to be invoked when AMPS indicates that a published message is not written. This could be because a duplicate message already exists in the transaction log, this client is not entitled to publish to the topic, the message failed to parse, or other similar reasons.
1053
- Parameters to this callable are an AMPS <em>message</em> when the client has a message saved in the publish store, and a string that contains the <em>reason</em> the publish failed.</td>
1054
- </tr>
1055
- </tbody>
1056
- </table>
1057
1159
  <p>For example, you might implement a function like:</p>
1058
1160
  <div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">PrintFailedWrites</span><span class="p">(</span><span class="n">message</span><span class="p">,</span> <span class="n">reason</span><span class="p">):</span>
1059
1161
  <span class="n">output</span> <span class="o">=</span> <span class="s2">&quot;Uh-oh, something went wrong writing to AMPS. (</span><span class="si">%s</span><span class="s2">) &quot;</span> <span class="o">%</span> <span class="n">reason</span>
1060
1162
  <span class="k">if</span> <span class="p">(</span><span class="n">message</span> <span class="o">!=</span> <span class="kc">None</span><span class="p">):</span>
1061
- <span class="n">output</span> <span class="o">+=</span> <span class="s2">&quot;Topic: </span><span class="si">%s</span><span class="s2">, Data snippet: </span><span class="si">%s</span><span class="s2">...&quot;</span> <span class="o">%</span> \
1163
+ <span class="n">output</span> <span class="o">+=</span> <span class="s2">&quot;Topic: </span><span class="si">%s</span><span class="s2">, Data snippet: </span><span class="si">%s</span><span class="s2">...&quot;</span> <span class="o">%</span>
1062
1164
  <span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">get_topic</span><span class="p">(),</span> <span class="n">message</span><span class="o">.</span><span class="n">get_data</span><span class="p">()[</span><span class="mi">0</span><span class="p">:</span><span class="mi">20</span><span class="p">])</span>
1063
1165
  <span class="nb">print</span> <span class="n">output</span>
1064
1166
  </pre></div>
1065
1167
  </div>
1168
+ <table class="docutils field-list" frame="void" rules="none">
1169
+ <col class="field-name" />
1170
+ <col class="field-body" />
1171
+ <tbody valign="top">
1172
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>failedWriteHandler</strong> &#8211; A callable object to be invoked when AMPS indicates that a published message is not
1173
+ written. This could be because a duplicate message already exists in the transaction
1174
+ log, this client is not entitled to publish to the topic, the message failed to parse,
1175
+ or other similar reasons.
1176
+ Parameters to this callable are an AMPS <em>message</em> when the client has a message saved
1177
+ in the publish store, and a string that contains the <em>reason</em> the publish failed.</td>
1178
+ </tr>
1179
+ </tbody>
1180
+ </table>
1066
1181
  </dd></dl>
1067
1182
 
1068
1183
  <dl class="method">
1069
1184
  <dt id="AMPS.Client.set_global_command_type_message_handler">
1070
1185
  <code class="descclassname">Client.</code><code class="descname">set_global_command_type_message_handler</code><span class="sig-paren">(</span><em>command</em>, <em>message_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_global_command_type_message_handler" title="Permalink to this definition">¶</a></dt>
1071
- <dd><blockquote>
1072
- <div>Add a message handler to the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> to handle messages from the
1073
- server with the specified command.</div></blockquote>
1186
+ <dd><p>Add a message handler to the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> to handle messages from the
1187
+ server with the specified command.</p>
1074
1188
  <table class="docutils field-list" frame="void" rules="none">
1075
1189
  <col class="field-name" />
1076
1190
  <col class="field-body" />
1077
1191
  <tbody valign="top">
1078
1192
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
1079
1193
  <li><strong>command</strong> (<em>str</em>) &#8211; The command to send to the handler.
1080
- Valid values are &#8216;ack&#8217; and &#8216;heartbeat&#8217;.</li>
1194
+ Valid values are <code class="docutils literal"><span class="pre">ack</span></code> and <code class="docutils literal"><span class="pre">heartbeat</span></code>.</li>
1081
1195
  <li><strong>message_handler</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler that will receive messages
1082
1196
  of the command specified.</li>
1083
1197
  </ul>
@@ -1090,34 +1204,29 @@ of the command specified.</li>
1090
1204
  <dl class="method">
1091
1205
  <dt id="AMPS.Client.set_heartbeat">
1092
1206
  <code class="descclassname">Client.</code><code class="descname">set_heartbeat</code><span class="sig-paren">(</span><em>interval_seconds</em>, <em>timeout_seconds=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_heartbeat" title="Permalink to this definition">¶</a></dt>
1093
- <dd><dl class="docutils">
1094
- <dt>Used to enable heartbeating between the client and the AMPS Server. When a</dt>
1095
- <dd><blockquote class="first">
1096
- <div><a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> sends a heartbeat message to an AMPS instance, the AMPS
1207
+ <dd><p>Used to enable heartbeating between the client and the AMPS Server. When a
1208
+ <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> sends a heartbeat message to an AMPS instance, the AMPS
1097
1209
  instance will send back an acknowledgment message. From this point forward the
1098
1210
  <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> and AMPS instance will each monitor that the other is still active.
1099
1211
  AMPS sends heartbeat messages to the client at the specified interval.
1100
1212
  If the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> does not receive a heartbeat message within
1101
- the time interval specified in :<cite>timeout_seconds</cite>, then the <cite>Client</cite>
1213
+ the time interval specified in <code class="docutils literal"><span class="pre">timeout_seconds</span></code>, then the <cite>Client</cite>
1102
1214
  will assume that the connection has ended, close the connection and
1103
1215
  invoke the <code class="xref py py-exc docutils literal"><span class="pre">DisconnectHandler</span></code>. Likewise, if the server
1104
1216
  sends a heartbeat and does not receive a response within the timeout,
1105
1217
  the server will consider the client to be nonresponsive and close
1106
- the connection.</div></blockquote>
1107
- <p class="last">Heartbeats are processed in the client receive thread. If you use
1218
+ the connection.</p>
1219
+ <p>Heartbeats are processed in the client receive thread. If you use
1108
1220
  asynchronous message processing, your message handler must process
1109
1221
  messages within the timeout interval, or risk being disconnected
1110
1222
  by the server.</p>
1111
- </dd>
1112
- </dl>
1113
1223
  <table class="docutils field-list" frame="void" rules="none">
1114
1224
  <col class="field-name" />
1115
1225
  <col class="field-body" />
1116
1226
  <tbody valign="top">
1117
1227
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
1118
- <li><strong>interval_seconds</strong> (<em>int</em>) &#8211; The time between heartbeat messages being sent
1119
- to AMPS.</li>
1120
- <li><strong>timeout</strong> &#8211; The maximum time to wait for AMPS to acknowledge the start of heartbeating (in seconds)</li>
1228
+ <li><strong>interval_seconds</strong> (<em>int</em>) &#8211; The time between heartbeat messages being sent to AMPS.</li>
1229
+ <li><strong>timeout_seconds</strong> (<em>int</em>) &#8211; The maximum time to wait for AMPS to acknowledge the start of heartbeating (in seconds).</li>
1121
1230
  </ul>
1122
1231
  </td>
1123
1232
  </tr>
@@ -1128,8 +1237,7 @@ to AMPS.</li>
1128
1237
  <dl class="method">
1129
1238
  <dt id="AMPS.Client.set_last_chance_message_handler">
1130
1239
  <code class="descclassname">Client.</code><code class="descname">set_last_chance_message_handler</code><span class="sig-paren">(</span><em>message_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_last_chance_message_handler" title="Permalink to this definition">¶</a></dt>
1131
- <dd><blockquote>
1132
- <div>Sets the <code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code> instance called when no other incoming message handler matches.</div></blockquote>
1240
+ <dd><p>Sets the <code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code> instance called when no other incoming message handler matches.</p>
1133
1241
  <table class="docutils field-list" frame="void" rules="none">
1134
1242
  <col class="field-name" />
1135
1243
  <col class="field-body" />
@@ -1142,13 +1250,13 @@ to AMPS.</li>
1142
1250
 
1143
1251
  <dl class="method">
1144
1252
  <dt id="AMPS.Client.set_logon_correlation_data">
1145
- <code class="descclassname">Client.</code><code class="descname">set_logon_correlation_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_logon_correlation_data" title="Permalink to this definition">¶</a></dt>
1253
+ <code class="descclassname">Client.</code><code class="descname">set_logon_correlation_data</code><span class="sig-paren">(</span><em>logon_correlation_data</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_logon_correlation_data" title="Permalink to this definition">¶</a></dt>
1146
1254
  <dd><p>Sets the data used to correlate the logon of this Client in the server.</p>
1147
1255
  <table class="docutils field-list" frame="void" rules="none">
1148
1256
  <col class="field-name" />
1149
1257
  <col class="field-body" />
1150
1258
  <tbody valign="top">
1151
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>logonCorrelationData</strong> &#8211; The base64 data string to send with the logon.</td>
1259
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>logon_correlation_data</strong> &#8211; The base64 data string to send with the logon.</td>
1152
1260
  </tr>
1153
1261
  </tbody>
1154
1262
  </table>
@@ -1157,18 +1265,26 @@ to AMPS.</li>
1157
1265
  <dl class="method">
1158
1266
  <dt id="AMPS.Client.set_name">
1159
1267
  <code class="descclassname">Client.</code><code class="descname">set_name</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_name" title="Permalink to this definition">¶</a></dt>
1160
- <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_name" title="AMPS.Client.set_name"><code class="xref py py-meth docutils literal"><span class="pre">set_name()</span></code></a>.</p>
1268
+ <dd><p>Sets the <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> name.</p>
1269
+ <table class="docutils field-list" frame="void" rules="none">
1270
+ <col class="field-name" />
1271
+ <col class="field-body" />
1272
+ <tbody valign="top">
1273
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> &#8211; The <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a> name.</td>
1274
+ </tr>
1275
+ </tbody>
1276
+ </table>
1161
1277
  </dd></dl>
1162
1278
 
1163
1279
  <dl class="method">
1164
1280
  <dt id="AMPS.Client.set_publish_store">
1165
- <code class="descclassname">Client.</code><code class="descname">set_publish_store</code><span class="sig-paren">(</span><em>publishStore</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_publish_store" title="Permalink to this definition">¶</a></dt>
1281
+ <code class="descclassname">Client.</code><code class="descname">set_publish_store</code><span class="sig-paren">(</span><em>publish_store</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_publish_store" title="Permalink to this definition">¶</a></dt>
1166
1282
  <dd><p>Sets a publish store on self.</p>
1167
1283
  <table class="docutils field-list" frame="void" rules="none">
1168
1284
  <col class="field-name" />
1169
1285
  <col class="field-body" />
1170
1286
  <tbody valign="top">
1171
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>publishStore</strong> &#8211; an <a class="reference internal" href="#AMPS.PublishStore" title="AMPS.PublishStore"><code class="xref py py-class docutils literal"><span class="pre">PublishStore</span></code></a> or <a class="reference internal" href="#AMPS.MemoryPublishStore" title="AMPS.MemoryPublishStore"><code class="xref py py-class docutils literal"><span class="pre">MemoryPublishStore</span></code></a> instance.</td>
1287
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>publish_store</strong> &#8211; a <a class="reference internal" href="#AMPS.PublishStore" title="AMPS.PublishStore"><code class="xref py py-class docutils literal"><span class="pre">PublishStore</span></code></a> or <a class="reference internal" href="#AMPS.MemoryPublishStore" title="AMPS.MemoryPublishStore"><code class="xref py py-class docutils literal"><span class="pre">MemoryPublishStore</span></code></a> instance.</td>
1172
1288
  </tr>
1173
1289
  </tbody>
1174
1290
  </table>
@@ -1177,18 +1293,24 @@ to AMPS.</li>
1177
1293
  <dl class="method">
1178
1294
  <dt id="AMPS.Client.set_retry_on_disconnect">
1179
1295
  <code class="descclassname">Client.</code><code class="descname">set_retry_on_disconnect</code><span class="sig-paren">(</span><em>enabled</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_retry_on_disconnect" title="Permalink to this definition">¶</a></dt>
1180
- <dd><blockquote>
1181
- <div><dl class="docutils">
1182
- <dt>Enables or disables automatic retry of a command to AMPS after a</dt>
1183
- <dd>reconnect. This behavior is enabled by default.
1184
- NOTE: Clients using a publish store will have all publish
1296
+ <dd><p>Enables or disables automatic retry of a command to AMPS after a reconnect. This behavior is enabled by default.</p>
1297
+ <blockquote>
1298
+ <div><div class="admonition note">
1299
+ <p class="first admonition-title">Note</p>
1300
+ <p class="last">Clients using a publish store will have all publish
1185
1301
  messages sent, regardless of this setting. Also, Clients with
1186
1302
  a subscription manager, including all HAClients, will have all
1187
- subscribe calls placed.</dd>
1188
- </dl>
1303
+ subscribe calls placed.</p>
1304
+ </div>
1189
1305
  </div></blockquote>
1190
- <p>:param enabled False to disable automatic retry of commands to AMPS.
1191
- :type enabled: Boolean.</p>
1306
+ <table class="docutils field-list" frame="void" rules="none">
1307
+ <col class="field-name" />
1308
+ <col class="field-body" />
1309
+ <tbody valign="top">
1310
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>enabled</strong> (<em>Boolean</em>) &#8211; False to disable automatic retry of commands to AMPS.</td>
1311
+ </tr>
1312
+ </tbody>
1313
+ </table>
1192
1314
  </dd></dl>
1193
1315
 
1194
1316
  <dl class="method">
@@ -1213,6 +1335,10 @@ subscribe calls placed.</dd>
1213
1335
  <col class="field-name" />
1214
1336
  <col class="field-body" />
1215
1337
  <tbody valign="top">
1338
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>transport_filter_callable</strong> (<em>A python function</em><em> or </em><em>other callable that takes two parameters: data and direction.</em>) &#8211; The function or callable to be called. This function is passed a string (&#8216;data&#8217;)
1339
+ containing the raw bytes sent or received. The &#8216;direction&#8217; parameter is False if
1340
+ the data is being sent to the server, or True if data is received from the server.</td>
1341
+ </tr>
1216
1342
  </tbody>
1217
1343
  </table>
1218
1344
  </dd></dl>
@@ -1220,62 +1346,71 @@ subscribe calls placed.</dd>
1220
1346
  <dl class="method">
1221
1347
  <dt id="AMPS.Client.set_unhandled_message_handler">
1222
1348
  <code class="descclassname">Client.</code><code class="descname">set_unhandled_message_handler</code><span class="sig-paren">(</span><em>message_handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.set_unhandled_message_handler" title="Permalink to this definition">¶</a></dt>
1223
- <dd><dl class="docutils">
1224
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a>.</dt>
1225
- <dd><div class="first last deprecated">
1349
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-meth docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a>.</p>
1350
+ <div class="deprecated">
1226
1351
  <p><span class="versionmodified">Deprecated since version 4.0.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.set_last_chance_message_handler" title="AMPS.Client.set_last_chance_message_handler"><code class="xref py py-func docutils literal"><span class="pre">set_last_chance_message_handler()</span></code></a> instead.</p>
1227
1352
  </div>
1228
- </dd>
1229
- </dl>
1230
1353
  </dd></dl>
1231
1354
 
1232
1355
  <dl class="method">
1233
1356
  <dt id="AMPS.Client.sow">
1234
- <code class="descclassname">Client.</code><code class="descname">sow</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>batch_size=10</em>, <em>timeout=0</em>, <em>top_n=None</em>, <em>order_by=None</em>, <em>bookmark=None</em>, <em>options=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow" title="Permalink to this definition">¶</a></dt>
1235
- <dd><p>Executes a SOW query. There are two ways to use this method.
1236
- First, you can provide a topic, filter, and options for the subscription.
1237
- In this case, the method returns a message stream that you can iterate over.
1238
- For example:</p>
1239
- <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">c</span> <span class="o">=</span> <span class="n">Client</span><span class="p">(</span><span class="s2">&quot;test_client&quot;</span><span class="p">)</span>
1357
+ <code class="descclassname">Client.</code><code class="descname">sow</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow" title="Permalink to this definition">¶</a></dt>
1358
+ <dd><p><strong>Signatures</strong>:</p>
1359
+ <ul>
1360
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=10,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">bookmark=None,</span> <span class="pre">options=0)</span></code></p>
1361
+ </li>
1362
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow(topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=10,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">bookmark=None,</span> <span class="pre">options=0)</span></code></p>
1363
+ <p>Executes a SOW query.</p>
1364
+ <p>There are two ways to use this method:</p>
1365
+ <ol class="arabic simple">
1366
+ <li>When a message handler is provided, this method submits the SOW query on a background thread and calls the
1367
+ message handler with individual messages, including the <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate
1368
+ the beginning and end of the SOW results.</li>
1369
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
1370
+ messages received including the <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate the beginning and end of
1371
+ the SOW results.</li>
1372
+ </ol>
1373
+ </li>
1374
+ </ul>
1375
+ <p>For example:</p>
1376
+ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">Client</span><span class="p">(</span><span class="s2">&quot;test_client&quot;</span><span class="p">)</span>
1240
1377
 
1241
1378
  <span class="k">try</span><span class="p">:</span>
1242
- <span class="n">c</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;tcp://127.0.0.1:9004/fix&quot;</span><span class="p">)</span>
1243
- <span class="n">cid</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">logon</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
1244
- <span class="k">for</span> <span class="n">aMessage</span> <span class="ow">in</span> <span class="n">c</span><span class="o">.</span><span class="n">sow</span><span class="p">(</span><span class="s2">&quot;MySowTopic&quot;</span><span class="p">):</span>
1245
- <span class="nb">print</span> <span class="n">aMessage</span><span class="o">.</span><span class="n">get_data</span><span class="p">()</span>
1379
+ <span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s2">&quot;tcp://127.0.0.1:9004/amps/fix&quot;</span><span class="p">)</span>
1380
+ <span class="n">client</span><span class="o">.</span><span class="n">logon</span><span class="p">()</span>
1381
+ <span class="k">for</span> <span class="n">message</span> <span class="ow">in</span> <span class="n">client</span><span class="o">.</span><span class="n">sow</span><span class="p">(</span><span class="s2">&quot;MySowTopic&quot;</span><span class="p">):</span>
1382
+ <span class="nb">print</span><span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">get_data</span><span class="p">())</span>
1246
1383
  <span class="k">finally</span><span class="p">:</span>
1247
- <span class="n">c</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
1384
+ <span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
1248
1385
  </pre></div>
1249
1386
  </div>
1250
- <p>Second, you can provide a message handler. In this case, the method creates
1251
- a background thread and calls the message handler with each message
1252
- received from AMPS, including the <cite>group_begin</cite> and <cite>group_end</cite> messages
1253
- that indicate the beginning and end of the SOW query.</p>
1254
1387
  <table class="docutils field-list" frame="void" rules="none">
1255
1388
  <col class="field-name" />
1256
1389
  <col class="field-body" />
1257
1390
  <tbody valign="top">
1258
1391
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1259
1392
  <li><strong>on_message</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with matching
1260
- messages. If this parameter is not present, AMPS creates a
1261
- :class: <cite>MessageStream</cite> and returns that message stream
1262
- from the call to sow.</li>
1393
+ messages. If this parameter is not present, AMPS creates a
1394
+ <a class="reference internal" href="#AMPS.MessageStream" title="AMPS.MessageStream"><code class="xref py py-class docutils literal"><span class="pre">MessageStream</span></code></a> and returns that message stream
1395
+ from the call to sow (specified only in the case where async
1396
+ processing is used).</li>
1263
1397
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW query against.</li>
1264
1398
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
1265
1399
  <li><strong>batch_size</strong> (<em>int</em>) &#8211; The batching parameter to use for the results.</li>
1266
- <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1400
+ <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1267
1401
  consume a processed ack for this command (in milliseconds).
1268
1402
  <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1269
- <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the sow.</li>
1403
+ <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the SOW.</li>
1270
1404
  <li><strong>order_by</strong> (<em>str</em>) &#8211; To have the records ordered by the server.</li>
1271
- <li><strong>bookmark</strong> (<em>int</em>) &#8211; The bookmark for historical query of the sow.</li>
1405
+ <li><strong>bookmark</strong> (<em>int</em>) &#8211; The bookmark for historical query of the SOW.</li>
1272
1406
  <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
1273
1407
  processing options.</li>
1274
1408
  </ul>
1275
1409
  </td>
1276
1410
  </tr>
1277
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">If a message handler is provided, returns the command identifier
1278
- assigned to this command. If no message handler is present, returns a MessageStream containing the results of the command.</p>
1411
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
1412
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the
1413
+ results of the command.</p>
1279
1414
  </td>
1280
1415
  </tr>
1281
1416
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.BadFilterException" title="AMPS.BadFilterException"><code class="xref py py-exc docutils literal"><span class="pre">BadFilterException</span></code></a>, <a class="reference internal" href="#AMPS.BadRegexTopicException" title="AMPS.BadRegexTopicException"><code class="xref py py-exc docutils literal"><span class="pre">BadRegexTopicException</span></code></a>,
@@ -1289,68 +1424,77 @@ assigned to this command. If no message handler is present, returns a
1289
1424
  <dl class="method">
1290
1425
  <dt id="AMPS.Client.sowAndDeltaSubscribe">
1291
1426
  <code class="descclassname">Client.</code><code class="descname">sowAndDeltaSubscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>batch_size=1</em>, <em>oof_enabled=False</em>, <em>send_empties=False</em>, <em>options=0</em>, <em>timeout=0</em>, <em>top_n=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sowAndDeltaSubscribe" title="Permalink to this definition">¶</a></dt>
1292
- <dd><dl class="docutils">
1293
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_and_delta_subscribe" title="AMPS.Client.sow_and_delta_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">sow_and_delta_subscribe()</span></code></a>.</dt>
1294
- <dd><div class="first last deprecated">
1427
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_and_delta_subscribe" title="AMPS.Client.sow_and_delta_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">sow_and_delta_subscribe()</span></code></a>.</p>
1428
+ <div class="deprecated">
1295
1429
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.sow_and_delta_subscribe" title="AMPS.Client.sow_and_delta_subscribe"><code class="xref py py-func docutils literal"><span class="pre">sow_and_delta_subscribe()</span></code></a> instead.</p>
1296
1430
  </div>
1297
- </dd>
1298
- </dl>
1299
1431
  </dd></dl>
1300
1432
 
1301
1433
  <dl class="method">
1302
1434
  <dt id="AMPS.Client.sowAndSubscribe">
1303
1435
  <code class="descclassname">Client.</code><code class="descname">sowAndSubscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter</em>, <em>batch_size=1</em>, <em>oof_enabled=False</em>, <em>options=0</em>, <em>timeout=0</em>, <em>top_n=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sowAndSubscribe" title="Permalink to this definition">¶</a></dt>
1304
- <dd><dl class="docutils">
1305
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_and_subscribe" title="AMPS.Client.sow_and_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">sow_and_subscribe()</span></code></a>.</dt>
1306
- <dd><div class="first last deprecated">
1436
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_and_subscribe" title="AMPS.Client.sow_and_subscribe"><code class="xref py py-meth docutils literal"><span class="pre">sow_and_subscribe()</span></code></a>.</p>
1437
+ <div class="deprecated">
1307
1438
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.sow_and_subscribe" title="AMPS.Client.sow_and_subscribe"><code class="xref py py-func docutils literal"><span class="pre">sow_and_subscribe()</span></code></a> instead.</p>
1308
1439
  </div>
1309
- </dd>
1310
- </dl>
1311
1440
  </dd></dl>
1312
1441
 
1313
1442
  <dl class="method">
1314
1443
  <dt id="AMPS.Client.sowDelete">
1315
- <code class="descclassname">Client.</code><code class="descname">sowDelete</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>options=0</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sowDelete" title="Permalink to this definition">¶</a></dt>
1316
- <dd><dl class="docutils">
1317
- <dt>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_delete" title="AMPS.Client.sow_delete"><code class="xref py py-meth docutils literal"><span class="pre">sow_delete()</span></code></a>.</dt>
1318
- <dd><div class="first last deprecated">
1444
+ <code class="descclassname">Client.</code><code class="descname">sowDelete</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sowDelete" title="Permalink to this definition">¶</a></dt>
1445
+ <dd><p>A legacy method name for <a class="reference internal" href="#AMPS.Client.sow_delete" title="AMPS.Client.sow_delete"><code class="xref py py-meth docutils literal"><span class="pre">sow_delete()</span></code></a>.</p>
1446
+ <div class="deprecated">
1319
1447
  <p><span class="versionmodified">Deprecated since version 3.2.0.0: </span>Use <a class="reference internal" href="#AMPS.Client.sow_delete" title="AMPS.Client.sow_delete"><code class="xref py py-func docutils literal"><span class="pre">sow_delete()</span></code></a> instead.</p>
1320
1448
  </div>
1321
- </dd>
1322
- </dl>
1323
1449
  </dd></dl>
1324
1450
 
1325
1451
  <dl class="method">
1326
1452
  <dt id="AMPS.Client.sow_and_delta_subscribe">
1327
- <code class="descclassname">Client.</code><code class="descname">sow_and_delta_subscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>batch_size=1</em>, <em>oof_enabled=False</em>, <em>send_empties=False</em>, <em>options=0</em>, <em>timeout=0</em>, <em>top_n=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_and_delta_subscribe" title="Permalink to this definition">¶</a></dt>
1328
- <dd><p>Executes a SOW query and places a delta subscription.</p>
1453
+ <code class="descclassname">Client.</code><code class="descname">sow_and_delta_subscribe</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_and_delta_subscribe" title="Permalink to this definition">¶</a></dt>
1454
+ <dd><p><strong>Signatures</strong>:</p>
1455
+ <ul>
1456
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_and_delta_subscribe(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=1,</span> <span class="pre">oof_enabled=False,</span> <span class="pre">send_empties=False,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">options=None)</span></code></p>
1457
+ </li>
1458
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_and_delta_subscribe(topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=1,</span> <span class="pre">oof_enabled=False,</span> <span class="pre">send_empties=False,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">options=None)</span></code></p>
1459
+ <p>Executes a SOW query and places a delta subscription.</p>
1460
+ <p>There are two ways to use this method:</p>
1461
+ <ol class="arabic simple">
1462
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">sow_and_delta_subscribe</span></code> command on a background
1463
+ thread and calls the message handler with individual messages received from the SOW query, including the
1464
+ <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate the beginning and end of the SOW results and then with
1465
+ messages received that match the subscription and that contain the updated fields.</li>
1466
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
1467
+ messages received from the SOW query, including the <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate the
1468
+ beginning and end of the SOW results and then processes messages received that match the subscription and that
1469
+ contain the updated fields.</li>
1470
+ </ol>
1471
+ </li>
1472
+ </ul>
1329
1473
  <table class="docutils field-list" frame="void" rules="none">
1330
1474
  <col class="field-name" />
1331
1475
  <col class="field-body" />
1332
1476
  <tbody valign="top">
1333
1477
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1334
1478
  <li><strong>on_message</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with matching
1335
- messages.</li>
1336
- <li><strong>topic</strong> (<em>str</em>) &#8211; The <cite>Topic</cite> to execute the SOW query against.</li>
1479
+ messages (specified only in the case where async processing is used).</li>
1480
+ <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW query against.</li>
1337
1481
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
1338
1482
  <li><strong>batch_size</strong> (<em>int</em>) &#8211; The batch sizing parameter to use for the results.</li>
1339
- <li><strong>oof_enabled</strong> (<em>boolean</em>) &#8211; Specifies whether or not Out-of-Focus processing is
1340
- enabled.</li>
1483
+ <li><strong>oof_enabled</strong> (<em>boolean</em>) &#8211; Specifies whether or not Out-of-Focus processing is enabled.</li>
1341
1484
  <li><strong>send_empties</strong> (<em>boolean</em>) &#8211; Specifies whether or not unchanged records are
1342
1485
  received on the delta subscription.</li>
1343
- <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1486
+ <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1344
1487
  consume the processed ack for this command (in milliseconds).
1345
1488
  <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1346
- <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the sow.</li>
1489
+ <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the SOW.</li>
1347
1490
  <li><strong>order_by</strong> (<em>str</em>) &#8211; To have the records ordered by the server.</li>
1348
- <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
1349
- processing options.</li>
1491
+ <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional processing options.</li>
1350
1492
  </ul>
1351
1493
  </td>
1352
1494
  </tr>
1353
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command.</p>
1495
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
1496
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the results
1497
+ of the command.</p>
1354
1498
  </td>
1355
1499
  </tr>
1356
1500
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
@@ -1364,32 +1508,49 @@ processing options.</li>
1364
1508
 
1365
1509
  <dl class="method">
1366
1510
  <dt id="AMPS.Client.sow_and_subscribe">
1367
- <code class="descclassname">Client.</code><code class="descname">sow_and_subscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter</em>, <em>batch_size=1</em>, <em>oof_enabled=False</em>, <em>timeout=0</em>, <em>top_n=None</em>, <em>order_by=</em>, <em>bookmark=</em>, <em>options=</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_and_subscribe" title="Permalink to this definition">¶</a></dt>
1368
- <dd><p>Executes a SOW query and places a subscription.</p>
1511
+ <code class="descclassname">Client.</code><code class="descname">sow_and_subscribe</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_and_subscribe" title="Permalink to this definition">¶</a></dt>
1512
+ <dd><p><strong>Signatures</strong>:</p>
1513
+ <ul>
1514
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_and_subscribe(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=1,</span> <span class="pre">oof_enabled=False,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">bookmark=None,</span> <span class="pre">options=None)</span></code></p>
1515
+ </li>
1516
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_and_subscribe(topic,</span> <span class="pre">filter=None,</span> <span class="pre">batch_size=1,</span> <span class="pre">oof_enabled=False,</span> <span class="pre">timeout=0,</span> <span class="pre">top_n=None,</span> <span class="pre">order_by=None,</span> <span class="pre">bookmark=None,</span> <span class="pre">options=None)</span></code></p>
1517
+ <p>Executes a SOW query and places a subscription.</p>
1518
+ <p>There are two ways to use this method:</p>
1519
+ <ol class="arabic simple">
1520
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command on a background thread
1521
+ and calls the message handler with individual messages received from the SOW query, including the <code class="docutils literal"><span class="pre">group_begin</span></code>
1522
+ and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate the beginning and end of the SOW results and then with messages received
1523
+ that match the subscription.</li>
1524
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
1525
+ messages received from the SOW query, including the <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> messages, that indicate the
1526
+ beginning and end of the SOW results and then processes messages received that match the subscription.</li>
1527
+ </ol>
1528
+ </li>
1529
+ </ul>
1369
1530
  <table class="docutils field-list" frame="void" rules="none">
1370
1531
  <col class="field-name" />
1371
1532
  <col class="field-body" />
1372
1533
  <tbody valign="top">
1373
1534
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1374
1535
  <li><strong>on_message</strong> (<code class="xref py py-class docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with matching
1375
- messages.</li>
1536
+ messages (specified only in the case where async processing is used).</li>
1376
1537
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW query against.</li>
1377
1538
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
1378
1539
  <li><strong>batch_size</strong> (<em>int</em>) &#8211; The batching parameter to use for the results.</li>
1379
- <li><strong>oof_enabled</strong> (<em>boolean</em>) &#8211; Specifies whether or not Out-of-Focus processing is
1380
- enabled.</li>
1540
+ <li><strong>oof_enabled</strong> (<em>boolean</em>) &#8211; Specifies whether or not Out-of-Focus processing is enabled.</li>
1381
1541
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1382
- consume the processed ack for this command
1383
- (in milliseconds). <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1384
- <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the sow.</li>
1542
+ consume the processed ack for this command (in milliseconds).
1543
+ <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1544
+ <li><strong>top_n</strong> (<em>int</em>) &#8211; The maximum number of records to return from the SOW.</li>
1385
1545
  <li><strong>order_by</strong> (<em>str</em>) &#8211; To have the records ordered by the server.</li>
1386
- <li><strong>bookmark</strong> (<em>str</em>) &#8211; The bookmark for historical query of the sow.</li>
1387
- <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
1388
- processing options.</li>
1546
+ <li><strong>bookmark</strong> (<em>str</em>) &#8211; The bookmark for historical query of the SOW.</li>
1547
+ <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional processing options.</li>
1389
1548
  </ul>
1390
1549
  </td>
1391
1550
  </tr>
1392
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command.</p>
1551
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
1552
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the results
1553
+ of the command.</p>
1393
1554
  </td>
1394
1555
  </tr>
1395
1556
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
@@ -1403,18 +1564,26 @@ processing options.</li>
1403
1564
 
1404
1565
  <dl class="method">
1405
1566
  <dt id="AMPS.Client.sow_delete">
1406
- <code class="descclassname">Client.</code><code class="descname">sow_delete</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>options=0</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete" title="Permalink to this definition">¶</a></dt>
1407
- <dd><p>Executes a SOW delete with a filter.</p>
1408
- <p>There are two ways to use this method. When no message handler is provided,
1409
- the method returns a <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> that will receive the results
1410
- of the delete command.</p>
1411
- <p>When a message handler is provided, this method submits the SOW delete on a
1412
- background thread and calls the message handler with the results of the
1413
- delete.</p>
1567
+ <code class="descclassname">Client.</code><code class="descname">sow_delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete" title="Permalink to this definition">¶</a></dt>
1568
+ <dd><p><strong>Signatures</strong>:</p>
1569
+ <ul>
1570
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">timeout=0)</span></code></p>
1571
+ </li>
1572
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete(topic,</span> <span class="pre">filter=None,</span> <span class="pre">timeout=0)</span></code></p>
1573
+ <p>Executes a SOW delete with a filter.</p>
1574
+ <p>There are two ways to use this method:</p>
1575
+ <ol class="arabic simple">
1576
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">sow_delete</span></code> command on a background thread and
1577
+ calls the message handler with the results of the delete.</li>
1578
+ <li>When no message handler is provided, this method returns an acknowledgment message with the result of the
1579
+ delete command.</li>
1580
+ </ol>
1581
+ </li>
1582
+ </ul>
1414
1583
  <p>For example, to delete all messages that match a filter:</p>
1415
1584
  <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">...</span>
1416
1585
  <span class="n">ackMessage</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">sow_delete</span><span class="p">(</span><span class="s2">&quot;sow_topic&quot;</span><span class="p">,</span><span class="s2">&quot;/status = &#39;obsolete&#39;&quot;</span><span class="p">)</span>
1417
- <span class="nb">print</span> <span class="s2">&quot;</span><span class="si">%s</span><span class="s2">: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ackMessage</span><span class="o">.</span><span class="n">get_ack_type</span><span class="p">(),</span> <span class="n">ackMessage</span><span class="o">.</span><span class="n">get_status</span><span class="p">())</span>
1586
+ <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2">: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ackMessage</span><span class="o">.</span><span class="n">get_ack_type</span><span class="p">(),</span> <span class="n">ackMessage</span><span class="o">.</span><span class="n">get_status</span><span class="p">()))</span>
1418
1587
  <span class="o">...</span>
1419
1588
  </pre></div>
1420
1589
  </div>
@@ -1423,19 +1592,18 @@ delete.</p>
1423
1592
  <col class="field-body" />
1424
1593
  <tbody valign="top">
1425
1594
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1426
- <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and
1427
- <cite>completed</cite> acknowledgments</li>
1595
+ <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and <cite>completed</cite> acknowledgments
1596
+ (specified only in the case where async processing is used).</li>
1428
1597
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW delete against.</li>
1429
- <li><strong>filter</strong> (<em>str</em>) &#8211; The filter. To delete all records, set a filter that is always true (&#8216;1=1&#8217;)</li>
1430
- <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
1431
- processing options.</li>
1598
+ <li><strong>filter</strong> (<em>str</em>) &#8211; The filter. To delete all records, set a filter that is always true (&#8216;1=1&#8217;).</li>
1432
1599
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1433
1600
  consume the processed ack for this command (in milliseconds).
1434
1601
  <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1435
1602
  </ul>
1436
1603
  </td>
1437
1604
  </tr>
1438
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command.</p>
1605
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
1606
+ If no message handler was provided, returns an acknowledgment.</p>
1439
1607
  </td>
1440
1608
  </tr>
1441
1609
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.BadFilterException" title="AMPS.BadFilterException"><code class="xref py py-exc docutils literal"><span class="pre">BadFilterException</span></code></a>, <a class="reference internal" href="#AMPS.BadRegexTopicException" title="AMPS.BadRegexTopicException"><code class="xref py py-exc docutils literal"><span class="pre">BadRegexTopicException</span></code></a>,
@@ -1448,31 +1616,36 @@ consume the processed ack for this command (in milliseconds).
1448
1616
 
1449
1617
  <dl class="method">
1450
1618
  <dt id="AMPS.Client.sow_delete_by_data">
1451
- <code class="descclassname">Client.</code><code class="descname">sow_delete_by_data</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>data</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete_by_data" title="Permalink to this definition">¶</a></dt>
1452
- <dd><p>Delete a message from a SOW, using data supplied to locate a SOW entry with matching keys.</p>
1453
- <p>There are two ways to use this method. When no message handler is provided,
1454
- the method returns a <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> that will receive the results
1455
- of the delete command.</p>
1456
- <p>When a message handler is provided, this method submits the SOW delete on a
1457
- background thread and calls the message handler with the results of the
1458
- delete.</p>
1459
- <p>For example, to efficiently delete a message that your program has
1460
- received from AMPS:</p>
1619
+ <code class="descclassname">Client.</code><code class="descname">sow_delete_by_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete_by_data" title="Permalink to this definition">¶</a></dt>
1620
+ <dd><p><strong>Signatures</strong>:</p>
1621
+ <ul>
1622
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete_by_data(on_message,</span> <span class="pre">topic,</span> <span class="pre">data,</span> <span class="pre">timeout=0)</span></code></p>
1623
+ </li>
1624
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete_by_data(topic,</span> <span class="pre">data,</span> <span class="pre">timeout=0)</span></code></p>
1625
+ <p>Executes a SOW delete using the provided message data to determine the SOW key of the record to delete.</p>
1626
+ <p>There are two ways to use this method:</p>
1627
+ <ol class="arabic simple">
1628
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">sow_delete_by_data</span></code> on a background thread,
1629
+ and calls the message handler with the results of the delete.</li>
1630
+ <li>When no message handler is provided, this method provides an acknowledgment message with the result of
1631
+ the delete command.</li>
1632
+ </ol>
1633
+ </li>
1634
+ </ul>
1635
+ <p>For example, to efficiently delete a message that your program has received from AMPS:</p>
1461
1636
  <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">...</span>
1462
1637
  <span class="n">topic</span><span class="o">=</span> <span class="n">aMessage</span><span class="o">.</span><span class="n">get_topic</span><span class="p">()</span>
1463
1638
  <span class="n">data</span> <span class="o">=</span> <span class="n">aMessage</span><span class="o">.</span><span class="n">get_data</span><span class="p">()</span>
1464
1639
  <span class="n">ackMessage</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">sow_delete_by_data</span><span class="p">(</span><span class="n">topic</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
1465
- <span class="nb">print</span> <span class="s2">&quot;</span><span class="si">%s</span><span class="s2">: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ackMessage</span><span class="o">.</span><span class="n">get_ack_type</span><span class="p">(),</span> <span class="n">ackMessage</span><span class="o">.</span><span class="n">get_status</span><span class="p">())</span>
1640
+ <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2">: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">ackMessage</span><span class="o">.</span><span class="n">get_ack_type</span><span class="p">(),</span> <span class="n">ackMessage</span><span class="o">.</span><span class="n">get_status</span><span class="p">()))</span>
1466
1641
  <span class="o">...</span>
1467
1642
  </pre></div>
1468
1643
  </div>
1469
- <p>In addition to deleting a message from AMPS, this method allows deletion of
1470
- a message whose keys match one that is already stored, for example:</p>
1471
- <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">...</span>
1472
- <span class="n">data</span> <span class="o">=</span> <span class="n">orders</span><span class="p">[</span><span class="n">orderId</span><span class="p">]</span>
1644
+ <p>In addition to deleting a message from AMPS, this method allows deletion of a message whose keys match one
1645
+ that is already stored, for example:</p>
1646
+ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">data</span> <span class="o">=</span> <span class="n">orders</span><span class="p">[</span><span class="n">orderId</span><span class="p">]</span>
1473
1647
  <span class="n">ackMessage</span> <span class="o">=</span> <span class="n">client</span><span class="o">.</span><span class="n">sow_delete_by_data</span><span class="p">(</span><span class="s1">&#39;orders&#39;</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span>
1474
1648
  <span class="k">del</span> <span class="n">orders</span><span class="p">[</span><span class="n">orderId</span><span class="p">]</span>
1475
- <span class="o">...</span>
1476
1649
  </pre></div>
1477
1650
  </div>
1478
1651
  <table class="docutils field-list" frame="void" rules="none">
@@ -1480,8 +1653,8 @@ a message whose keys match one that is already stored, for example:</p>
1480
1653
  <col class="field-body" />
1481
1654
  <tbody valign="top">
1482
1655
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1483
- <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and
1484
- <cite>completed</cite> acknowledgments</li>
1656
+ <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and <cite>completed</cite> acknowledgments
1657
+ (specified only in the case where async processing is used).</li>
1485
1658
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW delete against.</li>
1486
1659
  <li><strong>data</strong> (<em>str</em>) &#8211; A message whose keys match the message to be deleted in the server&#8217;s SOW.</li>
1487
1660
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
@@ -1490,7 +1663,8 @@ consume the processed ack for this command (in milliseconds).
1490
1663
  </ul>
1491
1664
  </td>
1492
1665
  </tr>
1493
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The command identifier assigned to this command.</p>
1666
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The command identifier assigned to this command if a message handler was provided.
1667
+ If no message handler was provided, returns an acknowledgment.</p>
1494
1668
  </td>
1495
1669
  </tr>
1496
1670
  </tbody>
@@ -1499,30 +1673,39 @@ consume the processed ack for this command (in milliseconds).
1499
1673
 
1500
1674
  <dl class="method">
1501
1675
  <dt id="AMPS.Client.sow_delete_by_keys">
1502
- <code class="descclassname">Client.</code><code class="descname">sow_delete_by_keys</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>keys</em>, <em>timeout=0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete_by_keys" title="Permalink to this definition">¶</a></dt>
1503
- <dd><p>Executes a SOW delete with sow keys.</p>
1504
- <p>There are two ways to use this method. When no message handler is provided,
1505
- the method returns a <a class="reference internal" href="#AMPS.Message" title="AMPS.Message"><code class="xref py py-class docutils literal"><span class="pre">Message</span></code></a> that will receive the results
1506
- of the delete command.</p>
1507
- <p>When a message handler is provided, this method submits the SOW delete on a
1508
- background thread and calls the message handler with the results of the
1509
- delete.</p>
1676
+ <code class="descclassname">Client.</code><code class="descname">sow_delete_by_keys</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.sow_delete_by_keys" title="Permalink to this definition">¶</a></dt>
1677
+ <dd><p><strong>Signatures</strong>:</p>
1678
+ <ul>
1679
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete_by_keys(on_message,</span> <span class="pre">topic,</span> <span class="pre">keys,</span> <span class="pre">timeout=0)</span></code></p>
1680
+ </li>
1681
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.sow_delete_by_keys(topic,</span> <span class="pre">keys,</span> <span class="pre">timeout=0)</span></code></p>
1682
+ <p>Executes a SOW delete using the provided SOW key(s) to determine the record(s) to delete.</p>
1683
+ <p>There are two ways to use this method:</p>
1684
+ <ol class="arabic simple">
1685
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">sow_delete_by_keys</span></code> command on a background
1686
+ thread and calls the message handler with the results of the delete.</li>
1687
+ <li>When no message handler is provided, this method provides an acknowledgment message with the result of
1688
+ the delete command.</li>
1689
+ </ol>
1690
+ </li>
1691
+ </ul>
1510
1692
  <table class="docutils field-list" frame="void" rules="none">
1511
1693
  <col class="field-name" />
1512
1694
  <col class="field-body" />
1513
1695
  <tbody valign="top">
1514
1696
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1515
- <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and
1516
- <cite>completed</cite> acknowledgments</li>
1697
+ <li><strong>on_message</strong> (<code class="xref py py-exc docutils literal"><span class="pre">MessageHandler</span></code>) &#8211; The message handler to invoke with <cite>stats</cite> and <cite>completed</cite> acknowledgments
1698
+ (specified only in the case where async processing is used).</li>
1517
1699
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to execute the SOW delete against.</li>
1518
- <li><strong>keys</strong> (<em>str</em>) &#8211; A comma separated list of SOW keys to be deleted</li>
1700
+ <li><strong>keys</strong> (<em>str</em>) &#8211; A comma separated list of SOW keys to be deleted.</li>
1519
1701
  <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1520
1702
  consume the processed ack for this command (in millseconds).
1521
1703
  <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1522
1704
  </ul>
1523
1705
  </td>
1524
1706
  </tr>
1525
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The command identifier assigned to this command.</p>
1707
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The command identifier assigned to this command if a message handler was provided.
1708
+ If no message handler was provided, returns an acknowledgment.</p>
1526
1709
  </td>
1527
1710
  </tr>
1528
1711
  </tbody>
@@ -1532,43 +1715,70 @@ consume the processed ack for this command (in millseconds).
1532
1715
  <dl class="method">
1533
1716
  <dt id="AMPS.Client.start_timer">
1534
1717
  <code class="descclassname">Client.</code><code class="descname">start_timer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.start_timer" title="Permalink to this definition">¶</a></dt>
1535
- <dd><p>Deprecated in version 5.3.2.0. Used to start a timer on an AMPS Server for the client.</p>
1718
+ <dd><p>Used to start a timer on an AMPS Server for the client.</p>
1719
+ <div class="deprecated">
1720
+ <p><span class="versionmodified">Deprecated since version 5.3.2.0.</span></p>
1721
+ </div>
1536
1722
  </dd></dl>
1537
1723
 
1538
1724
  <dl class="method">
1539
1725
  <dt id="AMPS.Client.stop_timer">
1540
1726
  <code class="descclassname">Client.</code><code class="descname">stop_timer</code><span class="sig-paren">(</span><em>handler</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.stop_timer" title="Permalink to this definition">¶</a></dt>
1541
- <dd><p>Deprecated in version 5.3.2.0. Used to stop a timer on an AMPS Server previously started for the client.
1542
- :param handler: The handler to be invoked with the timer response.</p>
1727
+ <dd><p>Used to stop a timer on an AMPS Server previously started for the client.</p>
1728
+ <div class="deprecated">
1729
+ <p><span class="versionmodified">Deprecated since version 5.3.2.0.</span></p>
1730
+ </div>
1731
+ <table class="docutils field-list" frame="void" rules="none">
1732
+ <col class="field-name" />
1733
+ <col class="field-body" />
1734
+ <tbody valign="top">
1735
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>handler</strong> &#8211; The handler to be invoked with the timer response.</td>
1736
+ </tr>
1737
+ </tbody>
1738
+ </table>
1543
1739
  </dd></dl>
1544
1740
 
1545
1741
  <dl class="method">
1546
1742
  <dt id="AMPS.Client.subscribe">
1547
- <code class="descclassname">Client.</code><code class="descname">subscribe</code><span class="sig-paren">(</span><em>on_message</em>, <em>topic</em>, <em>filter=None</em>, <em>options=None</em>, <em>timeout=0</em>, <em>sub_id=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.subscribe" title="Permalink to this definition">¶</a></dt>
1548
- <dd><p>Places a subscription with AMPS.</p>
1743
+ <code class="descclassname">Client.</code><code class="descname">subscribe</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.subscribe" title="Permalink to this definition">¶</a></dt>
1744
+ <dd><p><strong>Signatures</strong>:</p>
1745
+ <ul>
1746
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.subscribe(on_message,</span> <span class="pre">topic,</span> <span class="pre">filter=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0,</span> <span class="pre">sub_id=None)</span></code></p>
1747
+ </li>
1748
+ <li><p class="first"><code class="docutils literal"><span class="pre">Client.subscribe(topic,</span> <span class="pre">filter=None,</span> <span class="pre">options=None,</span> <span class="pre">timeout=0,</span> <span class="pre">sub_id=None)</span></code></p>
1749
+ <p>Places a subscription with AMPS.</p>
1750
+ <p>There are two ways to use this method:</p>
1751
+ <ol class="arabic simple">
1752
+ <li>When a message handler is provided, this method submits the <code class="docutils literal"><span class="pre">subscribe</span></code> command on a background thread and
1753
+ calls the message handler with individual messages that match the subscription.</li>
1754
+ <li>When no message handler is provided, this method returns a message stream that can be iterated on to process
1755
+ messages received that match the subscription.</li>
1756
+ </ol>
1757
+ </li>
1758
+ </ul>
1549
1759
  <table class="docutils field-list" frame="void" rules="none">
1550
1760
  <col class="field-name" />
1551
1761
  <col class="field-body" />
1552
1762
  <tbody valign="top">
1553
1763
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
1554
1764
  <li><strong>on_message</strong> (<em>str</em>) &#8211; The message handler to invoke with matching
1555
- messages.</li>
1765
+ messages (specified only in the case where async processing is used).</li>
1556
1766
  <li><strong>topic</strong> (<em>str</em>) &#8211; The topic to subscribe to.</li>
1557
1767
  <li><strong>filter</strong> (<em>str</em>) &#8211; The filter.</li>
1558
- <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional
1559
- processing options.</li>
1560
- <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1768
+ <li><strong>options</strong> (<em>str</em>) &#8211; A comma separated list of values indicating additional processing options.</li>
1769
+ <li><strong>timeout</strong> (<em>int</em>) &#8211; The maximum time to wait for the client to receive and
1561
1770
  consume the processed ack for this command (in milliseconds).
1562
1771
  <code class="docutils literal"><span class="pre">0</span></code> indicates to wait indefinitely.</li>
1563
- <li><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID. You may optionally provide a
1772
+ <li><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID. You may optionally provide a
1564
1773
  subscription ID to ease recovery scenarios, instead of having the
1565
- system automatically generate one for you.
1566
- When used with the &#8216;replace&#8217; option, this is the subscription to
1567
- be replaced.</li>
1774
+ system automatically generate one for you. When used with the &#8216;replace&#8217; option,
1775
+ this is the subscription to be replaced.</li>
1568
1776
  </ul>
1569
1777
  </td>
1570
1778
  </tr>
1571
- <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command.</p>
1779
+ <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The command identifier assigned to this command if a message handler was provided.
1780
+ If no message handler was provided, returns a <code class="docutils literal"><span class="pre">MessageStream</span></code> containing the results
1781
+ of the command.</p>
1572
1782
  </td>
1573
1783
  </tr>
1574
1784
  <tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#AMPS.SubscriptionAlreadyExistsException" title="AMPS.SubscriptionAlreadyExistsException"><code class="xref py py-exc docutils literal"><span class="pre">SubscriptionAlreadyExistsException</span></code></a>,
@@ -1583,13 +1793,18 @@ be replaced.</li>
1583
1793
  <dl class="method">
1584
1794
  <dt id="AMPS.Client.unsubscribe">
1585
1795
  <code class="descclassname">Client.</code><code class="descname">unsubscribe</code><span class="sig-paren">(</span><em>sub_id=None</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Client.unsubscribe" title="Permalink to this definition">¶</a></dt>
1586
- <dd><blockquote>
1587
- <div>Remove a subscription from AMPS.</div></blockquote>
1796
+ <dd><p>Remove a subscription from AMPS.</p>
1797
+ <blockquote>
1798
+ <div><div class="admonition note">
1799
+ <p class="first admonition-title">Note</p>
1800
+ <p class="last">Using the keyword <code class="docutils literal"><span class="pre">all</span></code> with <code class="docutils literal"><span class="pre">sub_id</span></code> will remove all subscriptions to AMPS.</p>
1801
+ </div>
1802
+ </div></blockquote>
1588
1803
  <table class="docutils field-list" frame="void" rules="none">
1589
1804
  <col class="field-name" />
1590
1805
  <col class="field-body" />
1591
1806
  <tbody valign="top">
1592
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sub_id</strong> &#8211; The subscription id to remove.</td>
1807
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sub_id</strong> (<em>str</em>) &#8211; The subscription ID to remove.</td>
1593
1808
  </tr>
1594
1809
  </tbody>
1595
1810
  </table>
@@ -1606,9 +1821,9 @@ be replaced.</li>
1606
1821
 
1607
1822
  <dl class="class">
1608
1823
  <dt id="AMPS.Command">
1609
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">Command</code><a class="headerlink" href="#AMPS.Command" title="Permalink to this definition">¶</a></dt>
1824
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">Command</code><span class="sig-paren">(</span><em>command_name</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Command" title="Permalink to this definition">¶</a></dt>
1610
1825
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
1611
- <p>AMPS.Command represents a single message (or <em>command</em>) sent to the
1826
+ <p><code class="docutils literal"><span class="pre">AMPS.Command</span></code> represents a single message (or <em>command</em>) sent to the
1612
1827
  AMPS server. The class provides methods for headers that are used
1613
1828
  for commands to the server. Applications typically use this class
1614
1829
  to create outgoing requests to AMPS. The responses to requests,
@@ -1625,6 +1840,16 @@ Command, set options as described in the Command Cookbook in the
1625
1840
  Python Developer Guide or the AMPS Command Reference, and then use
1626
1841
  <a class="reference internal" href="#AMPS.Client.execute_async" title="AMPS.Client.execute_async"><code class="xref py py-func docutils literal"><span class="pre">AMPS.Client.execute_async()</span></code></a> to process messages asynchronously,
1627
1842
  or <a class="reference internal" href="#AMPS.Client.execute" title="AMPS.Client.execute"><code class="xref py py-func docutils literal"><span class="pre">AMPS.Client.execute()</span></code></a> to process messages synchronously.</p>
1843
+ <p><strong>Constructor Arguments:</strong></p>
1844
+ <table class="docutils field-list" frame="void" rules="none">
1845
+ <col class="field-name" />
1846
+ <col class="field-body" />
1847
+ <tbody valign="top">
1848
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>command_name</strong> &#8211; The name of the command to send to the server.
1849
+ For example, <code class="docutils literal"><span class="pre">sow</span></code>, <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> or <code class="docutils literal"><span class="pre">publish</span></code>.</td>
1850
+ </tr>
1851
+ </tbody>
1852
+ </table>
1628
1853
  <dl class="method">
1629
1854
  <dt id="AMPS.Command.add_ack_type">
1630
1855
  <code class="descname">add_ack_type</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.Command.add_ack_type" title="Permalink to this definition">¶</a></dt>
@@ -1676,6 +1901,14 @@ that have been previously set or that will be set by the Client.</p>
1676
1901
  <dd><p>Gets the sequence of self for <code class="docutils literal"><span class="pre">publish</span></code>, <code class="docutils literal"><span class="pre">delta_publish</span></code>, or <code class="docutils literal"><span class="pre">sow_delete</span></code> commands.
1677
1902
  This can be checked after calling <code class="docutils literal"><span class="pre">execute</span></code> or <code class="docutils literal"><span class="pre">executeAsync</span></code> to query the sequence
1678
1903
  number that was used, if any.</p>
1904
+ <table class="docutils field-list" frame="void" rules="none">
1905
+ <col class="field-name" />
1906
+ <col class="field-body" />
1907
+ <tbody valign="top">
1908
+ <tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The sequence number used in the last <code class="docutils literal"><span class="pre">publish</span></code>, <code class="docutils literal"><span class="pre">delta_publish</span></code>, or <code class="docutils literal"><span class="pre">sow_delete</span></code> command.</td>
1909
+ </tr>
1910
+ </tbody>
1911
+ </table>
1679
1912
  </dd></dl>
1680
1913
 
1681
1914
  <dl class="method">
@@ -1751,7 +1984,7 @@ details on SOW query batches.</p>
1751
1984
  <dd><p>Sets the value of the bookmark header. For a subscription, this identifies the point in the
1752
1985
  transaction log at which to begin the replay. For a <code class="docutils literal"><span class="pre">sow_delete</span></code> (queue acknowledgment), this
1753
1986
  indicates the message or messages to acknowledge. For a query on a SOW topic with
1754
- History configured, this indicates the point at which to query the topic.</p>
1987
+ <code class="docutils literal"><span class="pre">History</span></code> configured, this indicates the point at which to query the topic.</p>
1755
1988
  <p>Not all headers are processed by AMPS for all commands. See the AMPS Command Reference for which headers are used by AMPS for a specific command.</p>
1756
1989
  <table class="docutils field-list" frame="void" rules="none">
1757
1990
  <col class="field-name" />
@@ -2293,20 +2526,19 @@ If no sub_id is provided, remove all records for this client.
2293
2526
  <dt id="AMPS.DefaultServerChooser">
2294
2527
  <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">DefaultServerChooser</code><a class="headerlink" href="#AMPS.DefaultServerChooser" title="Permalink to this definition">¶</a></dt>
2295
2528
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
2296
- <p>A simple ServerChooser that keeps a list of AMPS instances and
2529
+ <p>A simple server chooser that keeps a list of AMPS instances and
2297
2530
  Authenticators, and advances to the next one when failure occurs.</p>
2298
2531
  <p>To use the <code class="docutils literal"><span class="pre">DefaultServerChooser</span></code>, you add the URIs for the server to
2299
- choose from, then set the server for the HAClient as shown below:</p>
2300
- <div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">HAClient</span><span class="p">(</span><span class="s2">&quot;showchooser&quot;</span><span class="p">)</span>
2301
- <span class="n">chooser</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">DefaultServerChooser</span><span class="p">()</span>
2302
- <span class="n">chooser</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s2">&quot;tcp://server:9005/nvfix&quot;</span><span class="p">)</span>
2303
- <span class="n">chooser</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s2">&quot;tcp://server-two:9005/nvfix&quot;</span><span class="p">)</span>
2304
- <span class="n">client</span><span class="o">.</span><span class="n">set_server_chooser</span><span class="p">(</span><span class="n">chooser</span><span class="p">)</span>
2305
- <span class="n">client</span><span class="o">.</span><span class="n">connect_and_logon</span><span class="p">()</span>
2306
-
2307
- <span class="n">You</span> <span class="n">can</span> <span class="n">add</span> <span class="nb">any</span> <span class="n">number</span> <span class="n">of</span> <span class="n">URIs</span> <span class="n">to</span> <span class="n">the</span> <span class="n">DefaultServerChooser</span><span class="o">.</span>
2532
+ choose from, then set the server for the <code class="docutils literal"><span class="pre">HAClient</span></code> as shown below:</p>
2533
+ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">HAClient</span><span class="p">(</span><span class="s2">&quot;showchooser&quot;</span><span class="p">)</span>
2534
+ <span class="n">chooser</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">DefaultServerChooser</span><span class="p">()</span>
2535
+ <span class="n">chooser</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s2">&quot;tcp://server:9005/nvfix&quot;</span><span class="p">)</span>
2536
+ <span class="n">chooser</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s2">&quot;tcp://server-two:9005/nvfix&quot;</span><span class="p">)</span>
2537
+ <span class="n">client</span><span class="o">.</span><span class="n">set_server_chooser</span><span class="p">(</span><span class="n">chooser</span><span class="p">)</span>
2538
+ <span class="n">client</span><span class="o">.</span><span class="n">connect_and_logon</span><span class="p">()</span>
2308
2539
  </pre></div>
2309
2540
  </div>
2541
+ <p>You can add any number of URIs to the <code class="docutils literal"><span class="pre">DefaultServerChooser</span></code>.</p>
2310
2542
  <dl class="method">
2311
2543
  <dt id="AMPS.DefaultServerChooser.add">
2312
2544
  <code class="descname">add</code><span class="sig-paren">(</span><em>uri</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.DefaultServerChooser.add" title="Permalink to this definition">¶</a></dt>
@@ -2440,40 +2672,31 @@ choose from, then set the server for the HAClient as shown below:</p>
2440
2672
 
2441
2673
  <dl class="class">
2442
2674
  <dt id="AMPS.ExponentialDelayStrategy">
2443
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">ExponentialDelayStrategy</code><a class="headerlink" href="#AMPS.ExponentialDelayStrategy" title="Permalink to this definition">¶</a></dt>
2675
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">ExponentialDelayStrategy</code><span class="sig-paren">(</span><em>initial_delay=200</em>, <em>maximum_delay=20000</em>, <em>backoff_exponent=2.0</em>, <em>maximum_retry_time=0</em>, <em>jitter=1.0</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.ExponentialDelayStrategy" title="Permalink to this definition">¶</a></dt>
2444
2676
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
2445
- <p>ExponentialDelayStrategy is an implementation that exponentially
2446
- backs off when reconnecting to the same server, with a maximum
2447
- time to retry before it gives up entirely.</p>
2448
- <p>By default, an ExponentialDelayStrategy has an initial delay of
2449
- 200 ms, a maximum delay of 20 seconds, a backoff exponent of
2450
- 2.0, and has no limit to the amount of time to retry the connection.</p>
2451
- <p>Constructor parameters:</p>
2677
+ <p><code class="docutils literal"><span class="pre">ExponentialDelayStrategy</span></code> is an implementation that exponentially backs off when reconnecting to
2678
+ the same server, with a maximum time to retry before it gives up entirely.</p>
2679
+ <p>By default, an <code class="docutils literal"><span class="pre">ExponentialDelayStrategy</span></code> has an initial delay of 200 ms, a maximum delay of 20 seconds,
2680
+ a backoff exponent of 2.0, and has no limit to the amount of time to retry the connection.</p>
2681
+ <p><strong>Constructor Arguments:</strong></p>
2452
2682
  <table class="docutils field-list" frame="void" rules="none">
2453
2683
  <col class="field-name" />
2454
2684
  <col class="field-body" />
2455
2685
  <tbody valign="top">
2456
2686
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
2457
- <li><strong>initial_delay</strong> &#8211; The time (in milliseconds) to wait before
2458
- reconnecting to a server for the first
2687
+ <li><strong>initial_delay</strong> &#8211; The time (in milliseconds) to wait before reconnecting to a server for the first
2459
2688
  time after a failed connection.</li>
2460
- <li><strong>maximum_delay</strong> &#8211; The maximum time to wait for any reconnect
2461
- attempt (milliseconds). Exponential
2462
- backoff will not exceed this maximum.</li>
2463
- <li><strong>backoff_exponent</strong> &#8211; The exponent to use for calculating the
2464
- next delay time. For example, if the
2465
- initial time is 200ms and the exponent
2466
- is 2.0, the next delay will be 400ms,
2689
+ <li><strong>maximum_delay</strong> &#8211; The maximum time to wait for any reconnect attempt (milliseconds).
2690
+ Exponential backoff will not exceed this maximum.</li>
2691
+ <li><strong>backoff_exponent</strong> &#8211; The exponent to use for calculating the next delay time. For example, if the
2692
+ initial time is 200ms and the exponent is 2.0, the next delay will be 400ms,
2467
2693
  then 800ms, etc.</li>
2468
- <li><strong>maximum_retry_time</strong> &#8211; The maximum time (milliseconds) to allow
2469
- reconnect attempts to continue without
2470
- a successful connection, before &#8220;giving
2471
- up&#8221; and abandoning the connection attempt.</li>
2472
- <li><strong>jitter</strong> &#8211; The amount of &#8216;jitter&#8217; to apply when
2473
- calculating a delay time, measured in multiples
2474
- of the initial delay. Jitter is used to reduce
2475
- the number of simultaneous reconnects that may
2476
- be issued from multiple clients.</li>
2694
+ <li><strong>maximum_retry_time</strong> &#8211; The maximum time (milliseconds) to allow reconnect attempts to continue
2695
+ without a successful connection, before &#8216;giving up&#8217; and abandoning the
2696
+ connection attempt.</li>
2697
+ <li><strong>jitter</strong> &#8211; The amount of &#8216;jitter&#8217; to apply when calculating a delay time, measured in multiples
2698
+ of the initial delay. Jitter is used to reduce the number of simultaneous reconnects
2699
+ that may be issued from multiple clients.</li>
2477
2700
  </ul>
2478
2701
  </td>
2479
2702
  </tr>
@@ -2565,23 +2788,21 @@ be issued from multiple clients.</li>
2565
2788
 
2566
2789
  <dl class="class">
2567
2790
  <dt id="AMPS.FixedDelayStrategy">
2568
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">FixedDelayStrategy</code><a class="headerlink" href="#AMPS.FixedDelayStrategy" title="Permalink to this definition">¶</a></dt>
2791
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">FixedDelayStrategy</code><span class="sig-paren">(</span><em>initial_delay</em>, <em>maximum</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.FixedDelayStrategy" title="Permalink to this definition">¶</a></dt>
2569
2792
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
2570
- <p>FixedDelayStrategy is a reconnect delay strategy implementation that
2571
- waits a fixed amount of time before retrying a connection.</p>
2572
- <p>By default, a FixedDelayStrategy waits for 200ms between connection attempts
2793
+ <p><code class="docutils literal"><span class="pre">FixedDelayStrategy</span></code> is a reconnect delay strategy implementation that waits a
2794
+ fixed amount of time before retrying a connection.</p>
2795
+ <p>By default, a <code class="docutils literal"><span class="pre">FixedDelayStrategy</span></code> waits for 200ms between connection attempts
2573
2796
  and does not have a maximum timeout.</p>
2574
- <p>Constructor parameters:</p>
2797
+ <p><strong>Constructor Arguments:</strong></p>
2575
2798
  <table class="docutils field-list" frame="void" rules="none">
2576
2799
  <col class="field-name" />
2577
2800
  <col class="field-body" />
2578
2801
  <tbody valign="top">
2579
2802
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
2580
- <li><strong>initial_delay</strong> &#8211; The time (in milliseconds) to wait before
2581
- reconnecting to a server for the first
2582
- time after a failed connection.</li>
2583
- <li><strong>maximum</strong> &#8211; The maximum time (in milliseconds) to keep
2584
- retrying before giving up.</li>
2803
+ <li><strong>initial_delay</strong> &#8211; The time (in milliseconds) to wait before reconnecting to a
2804
+ server for the first time after a failed connection.</li>
2805
+ <li><strong>maximum</strong> &#8211; The maximum time (in milliseconds) to keep retrying before giving up.</li>
2585
2806
  </ul>
2586
2807
  </td>
2587
2808
  </tr>
@@ -2603,10 +2824,24 @@ retrying before giving up.</li>
2603
2824
 
2604
2825
  <dl class="class">
2605
2826
  <dt id="AMPS.HAClient">
2606
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">HAClient</code><a class="headerlink" href="#AMPS.HAClient" title="Permalink to this definition">¶</a></dt>
2827
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">HAClient</code><span class="sig-paren">(</span><em>name</em>, <em>publish_store=None</em>, <em>bookmark_store=None</em>, <em>no_store=False</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient" title="Permalink to this definition">¶</a></dt>
2607
2828
  <dd><p>Bases: <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">AMPS.Client</span></code></a></p>
2608
- <p>AMPS HAClient Object used for highly-available client connections. Derives from <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>.</p>
2609
- <p>Constructor arguments:</p>
2829
+ <p>AMPS <code class="docutils literal"><span class="pre">HAClient</span></code> Object used for highly-available client connections. Derives from <a class="reference internal" href="#AMPS.Client" title="AMPS.Client"><code class="xref py py-class docutils literal"><span class="pre">Client</span></code></a>.</p>
2830
+ <p>An example of a Python client publishing a JSON message using the <code class="docutils literal"><span class="pre">HAClient</span></code> is listed below:</p>
2831
+ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">client</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">HAClient</span><span class="p">(</span><span class="s2">&quot;test_client&quot;</span><span class="p">)</span>
2832
+
2833
+ <span class="n">chooser</span> <span class="o">=</span> <span class="n">AMPS</span><span class="o">.</span><span class="n">DefaultServerChooser</span><span class="p">()</span>
2834
+ <span class="n">chooser</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s2">&quot;tcp://127.0.0.1:9004/amps/json&quot;</span><span class="p">)</span>
2835
+ <span class="n">client</span><span class="o">.</span><span class="n">set_server_chooser</span><span class="p">(</span><span class="n">chooser</span><span class="p">)</span>
2836
+
2837
+ <span class="k">try</span><span class="p">:</span>
2838
+ <span class="n">client</span><span class="o">.</span><span class="n">connect_and_logon</span><span class="p">()</span>
2839
+ <span class="n">client</span><span class="o">.</span><span class="n">publish</span><span class="p">(</span><span class="s2">&quot;topic_name&quot;</span><span class="p">,</span><span class="s1">&#39;{&quot;a&quot;:1,&quot;b&quot;:&quot;2&quot;}&#39;</span><span class="p">)</span>
2840
+ <span class="k">finally</span><span class="p">:</span>
2841
+ <span class="n">client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
2842
+ </pre></div>
2843
+ </div>
2844
+ <p><strong>Constructor Arguments:</strong></p>
2610
2845
  <table class="docutils field-list" frame="void" rules="none">
2611
2846
  <col class="field-name" />
2612
2847
  <col class="field-body" />
@@ -2628,7 +2863,7 @@ using control characters, newline characters, or square brackets.</li>
2628
2863
  <dl class="method">
2629
2864
  <dt id="AMPS.HAClient.connect">
2630
2865
  <code class="descname">connect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.connect" title="Permalink to this definition">¶</a></dt>
2631
- <dd><p>Connects and logs on using the ServerChooser you&#8217;ve supplied via <a class="reference internal" href="#AMPS.HAClient.set_server_chooser" title="AMPS.HAClient.set_server_chooser"><code class="xref py py-meth docutils literal"><span class="pre">set_server_chooser()</span></code></a>. Will continue
2866
+ <dd><p>Connects and logs on using the <code class="docutils literal"><span class="pre">ServerChooser</span></code> you&#8217;ve supplied via <a class="reference internal" href="#AMPS.HAClient.set_server_chooser" title="AMPS.HAClient.set_server_chooser"><code class="xref py py-meth docutils literal"><span class="pre">set_server_chooser()</span></code></a>. Will continue
2632
2867
  attempting to connect and logon to each URI returned by the <code class="docutils literal"><span class="pre">ServerChooser</span></code> until the connection succeeds or
2633
2868
  the <code class="docutils literal"><span class="pre">ServerChooser</span></code> returns an empty URI.</p>
2634
2869
  </dd></dl>
@@ -2636,7 +2871,7 @@ the <code class="docutils literal"><span class="pre">ServerChooser</span></code>
2636
2871
  <dl class="method">
2637
2872
  <dt id="AMPS.HAClient.connect_and_logon">
2638
2873
  <code class="descname">connect_and_logon</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.connect_and_logon" title="Permalink to this definition">¶</a></dt>
2639
- <dd><p>Connects and logs on using the ServerChooser you&#8217;ve supplied via <a class="reference internal" href="#AMPS.HAClient.set_server_chooser" title="AMPS.HAClient.set_server_chooser"><code class="xref py py-meth docutils literal"><span class="pre">set_server_chooser()</span></code></a>. Will continue
2874
+ <dd><p>Connects and logs on using the <code class="docutils literal"><span class="pre">ServerChooser</span></code> you&#8217;ve supplied via <a class="reference internal" href="#AMPS.HAClient.set_server_chooser" title="AMPS.HAClient.set_server_chooser"><code class="xref py py-meth docutils literal"><span class="pre">set_server_chooser()</span></code></a>. Will continue
2640
2875
  attempting to connect and logon to each URI returned by the <code class="docutils literal"><span class="pre">ServerChooser</span></code> until the connection succeeds or
2641
2876
  the <code class="docutils literal"><span class="pre">ServerChooser</span></code> returns an empty URI.</p>
2642
2877
  </dd></dl>
@@ -2713,7 +2948,7 @@ subscription after a re-connect.</p>
2713
2948
  <dl class="method">
2714
2949
  <dt id="AMPS.HAClient.logon">
2715
2950
  <code class="descname">logon</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.logon" title="Permalink to this definition">¶</a></dt>
2716
- <dd><p>Not used in the HAClient; call <a class="reference internal" href="#AMPS.HAClient.connect_and_logon" title="AMPS.HAClient.connect_and_logon"><code class="xref py py-meth docutils literal"><span class="pre">connect_and_logon()</span></code></a> to connect and log on to AMPS once a server chooser is set.</p>
2951
+ <dd><p>Not used in the <code class="docutils literal"><span class="pre">HAClient</span></code>; call <a class="reference internal" href="#AMPS.HAClient.connect_and_logon" title="AMPS.HAClient.connect_and_logon"><code class="xref py py-meth docutils literal"><span class="pre">connect_and_logon()</span></code></a> to connect and log on to AMPS once a server chooser is set.</p>
2717
2952
  </dd></dl>
2718
2953
 
2719
2954
  <dl class="method">
@@ -2771,7 +3006,7 @@ remove the subscription from the subscription manager.</p>
2771
3006
  <col class="field-name" />
2772
3007
  <col class="field-body" />
2773
3008
  <tbody valign="top">
2774
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>options</strong> (<em>string</em>) &#8211; An options string to be passed to the server during logon, such as <code class="docutils literal"><span class="pre">ack_conflation=100us</span></code>.</td>
3009
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>options</strong> (<em>string</em>) &#8211; An options string to be passed to the server during logon, such as <code class="docutils literal"><span class="pre">ack_conflation=100ms</span></code>.</td>
2775
3010
  </tr>
2776
3011
  </tbody>
2777
3012
  </table>
@@ -2779,15 +3014,15 @@ remove the subscription from the subscription manager.</p>
2779
3014
 
2780
3015
  <dl class="method">
2781
3016
  <dt id="AMPS.HAClient.set_reconnect_delay">
2782
- <code class="descname">set_reconnect_delay</code><span class="sig-paren">(</span><em>reconnectDelay</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.set_reconnect_delay" title="Permalink to this definition">¶</a></dt>
3017
+ <code class="descname">set_reconnect_delay</code><span class="sig-paren">(</span><em>reconnect_delay</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.set_reconnect_delay" title="Permalink to this definition">¶</a></dt>
2783
3018
  <dd><p>Sets the delay in milliseconds used when reconnecting, after a disconnect occurs. Calling this method
2784
- creates and installs a new FixedDelayStrategy in this client.
3019
+ creates and installs a new <a class="reference internal" href="#AMPS.FixedDelayStrategy" title="AMPS.FixedDelayStrategy"><code class="xref py py-class docutils literal"><span class="pre">FixedDelayStrategy</span></code></a> in this client.
2785
3020
  Default value is 200 (0.2 seconds).</p>
2786
3021
  <table class="docutils field-list" frame="void" rules="none">
2787
3022
  <col class="field-name" />
2788
3023
  <col class="field-body" />
2789
3024
  <tbody valign="top">
2790
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>reconnectDelay</strong> &#8211; The number of milliseconds to wait before reconnecting, after a disconnect occurs.</td>
3025
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>reconnect_delay</strong> &#8211; The number of milliseconds to wait before reconnecting, after a disconnect occurs.</td>
2791
3026
  </tr>
2792
3027
  </tbody>
2793
3028
  </table>
@@ -2795,23 +3030,23 @@ Default value is 200 (0.2 seconds).</p>
2795
3030
 
2796
3031
  <dl class="method">
2797
3032
  <dt id="AMPS.HAClient.set_reconnect_delay_strategy">
2798
- <code class="descname">set_reconnect_delay_strategy</code><span class="sig-paren">(</span><em>reconnectDelayStrategy</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.set_reconnect_delay_strategy" title="Permalink to this definition">¶</a></dt>
3033
+ <code class="descname">set_reconnect_delay_strategy</code><span class="sig-paren">(</span><em>reconnect_delay_strategy</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.HAClient.set_reconnect_delay_strategy" title="Permalink to this definition">¶</a></dt>
2799
3034
  <dd><p>Sets the reconnect delay strategy object used to control delay behavior
2800
3035
  when connecting and reconnecting to servers.</p>
2801
3036
  <table class="docutils field-list" frame="void" rules="none">
2802
3037
  <col class="field-name" />
2803
3038
  <col class="field-body" />
2804
3039
  <tbody valign="top">
2805
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>strategy</strong> &#8211; <p>The reconnect delay strategy object to use when connecting
3040
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>reconnect_delay_strategy</strong> &#8211; <p>The reconnect delay strategy object to use when connecting
2806
3041
  and reconnecting to AMPS instances. The object must have
2807
3042
  the following two methods defined:</p>
2808
3043
  <blockquote>
2809
3044
  <div><dl class="docutils">
2810
- <dt>get_connect_wait_duration(uri):</dt>
3045
+ <dt><code class="docutils literal"><span class="pre">get_connect_wait_duration(uri)</span></code>:</dt>
2811
3046
  <dd><em>uri</em> - A string containing the next URI AMPS will connect with.
2812
3047
  <em>Returns</em> an integer representing the time in milliseconds to wait
2813
3048
  before connecting to that URI.</dd>
2814
- <dt>reset():</dt>
3049
+ <dt><code class="docutils literal"><span class="pre">reset()</span></code>:</dt>
2815
3050
  <dd>Resets the state of self after a successful connection.</dd>
2816
3051
  </dl>
2817
3052
  </div></blockquote>
@@ -2860,7 +3095,7 @@ Default value is 10000 (10 seconds).</p>
2860
3095
  <col class="field-name" />
2861
3096
  <col class="field-body" />
2862
3097
  <tbody valign="top">
2863
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timeout</strong> &#8211; The number of milliseconds to wait for a server response to logon. 0 indicates no timeout.</td>
3098
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timeout</strong> &#8211; The number of milliseconds to wait for a server response to logon. <code class="docutils literal"><span class="pre">0</span></code> indicates no timeout.</td>
2864
3099
  </tr>
2865
3100
  </tbody>
2866
3101
  </table>
@@ -5992,31 +6227,31 @@ stream remains open.</div></blockquote>
5992
6227
 
5993
6228
  <dl class="class">
5994
6229
  <dt id="AMPS.NVFIXBuilder">
5995
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">NVFIXBuilder</code><a class="headerlink" href="#AMPS.NVFIXBuilder" title="Permalink to this definition">¶</a></dt>
6230
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">NVFIXBuilder</code><span class="sig-paren">(</span><em>delimiter</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.NVFIXBuilder" title="Permalink to this definition">¶</a></dt>
5996
6231
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
5997
6232
  <p>Convenience class for easily creating NVFIX strings.</p>
5998
- <p>Constructor arguments:</p>
6233
+ <p><strong>Constructor Arguments:</strong></p>
5999
6234
  <table class="docutils field-list" frame="void" rules="none">
6000
6235
  <col class="field-name" />
6001
6236
  <col class="field-body" />
6002
6237
  <tbody valign="top">
6003
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>delimiter</strong> &#8211; The delimiter to use between NVFIX fields. Defaults to \\x01 if no delimiter is provided.</td>
6238
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>delimiter</strong> &#8211; The delimiter to use between NVFIX fields. Defaults to \x01 if no delimiter is provided.</td>
6004
6239
  </tr>
6005
6240
  </tbody>
6006
6241
  </table>
6007
6242
  <dl class="method">
6008
6243
  <dt id="AMPS.NVFIXBuilder.append">
6009
- <code class="descname">append</code><span class="sig-paren">(</span><em>tag</em>, <em>value</em>, <em>(optional)offset</em>, <em>(optional)length</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.NVFIXBuilder.append" title="Permalink to this definition">¶</a></dt>
6010
- <dd><p>Appends tag=value to self.</p>
6244
+ <code class="descname">append</code><span class="sig-paren">(</span><em>tag</em>, <em>value</em>, <em>offset(optional)</em>, <em>length(optional)</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.NVFIXBuilder.append" title="Permalink to this definition">¶</a></dt>
6245
+ <dd><p>Appends <code class="docutils literal"><span class="pre">tag=value</span></code> to self.</p>
6011
6246
  <table class="docutils field-list" frame="void" rules="none">
6012
6247
  <col class="field-name" />
6013
6248
  <col class="field-body" />
6014
6249
  <tbody valign="top">
6015
6250
  <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
6016
- <li><strong>tag</strong> (<em>int</em>) &#8211; The tag to use.</li>
6251
+ <li><strong>tag</strong> (<em>str</em>) &#8211; The tag to use.</li>
6017
6252
  <li><strong>value</strong> (<em>str</em>) &#8211; The value for the given tag.</li>
6018
- <li><strong>offset</strong> (<em>int</em>) &#8211; Optional. The offset into value at which the value actually starts.</li>
6019
- <li><strong>length</strong> &#8211; Optional. The length of the actual value within value. Only valid and required if offset is also provided.</li>
6253
+ <li><strong>offset</strong> (<em>int</em>) &#8211; The offset into value at which the value actually starts. <em>Optional.</em></li>
6254
+ <li><strong>length</strong> (<em>int</em>) &#8211; The length of the actual value within value. <em>Optional.</em> Only valid and required if offset is also provided.</li>
6020
6255
  </ul>
6021
6256
  </td>
6022
6257
  </tr>
@@ -6048,15 +6283,15 @@ stream remains open.</div></blockquote>
6048
6283
 
6049
6284
  <dl class="class">
6050
6285
  <dt id="AMPS.NVFIXShredder">
6051
- <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">NVFIXShredder</code><a class="headerlink" href="#AMPS.NVFIXShredder" title="Permalink to this definition">¶</a></dt>
6286
+ <em class="property">class </em><code class="descclassname">AMPS.</code><code class="descname">NVFIXShredder</code><span class="sig-paren">(</span><em>delimiter</em><span class="sig-paren">)</span><a class="headerlink" href="#AMPS.NVFIXShredder" title="Permalink to this definition">¶</a></dt>
6052
6287
  <dd><p>Bases: <code class="xref py py-class docutils literal"><span class="pre">object</span></code></p>
6053
6288
  <p>Convenience class for easily processing NVFIX strings.</p>
6054
- <p>Constructor arguments:</p>
6289
+ <p><strong>Constructor Arguments:</strong></p>
6055
6290
  <table class="docutils field-list" frame="void" rules="none">
6056
6291
  <col class="field-name" />
6057
6292
  <col class="field-body" />
6058
6293
  <tbody valign="top">
6059
- <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>separator</strong> &#8211; The delimiter to expect between NVFIX fields. Defaults to \\x01 if no delimiter is provided.</td>
6294
+ <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>delimiter</strong> &#8211; The delimiter to expect between NVFIX fields. Defaults to \x01 if no delimiter is provided.</td>
6060
6295
  </tr>
6061
6296
  </tbody>
6062
6297
  </table>
@@ -6605,7 +6840,7 @@ SSL functionality.</td>
6605
6840
  <li class="right" >
6606
6841
  <a href="index.html" title="AMPS Python Client Reference"
6607
6842
  >previous</a> |</li>
6608
- <li class="nav-item nav-item-0"><a href="index.html">AMPS Python Client 5.3.4.2 documentation</a> &#187;</li>
6843
+ <li class="nav-item nav-item-0"><a href="index.html">AMPS Python Client 5.3.4.3 documentation</a> &#187;</li>
6609
6844
  </ul>
6610
6845
  </div>
6611
6846
  <div class="footer" role="contentinfo">