amps-python-client 5.3.4.1__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 (550) hide show
  1. amps-python-client-5.3.4.1/HISTORY +7 -0
  2. amps-python-client-5.3.4.1/LICENSE +157 -0
  3. amps-python-client-5.3.4.1/PKG-INFO +112 -0
  4. amps-python-client-5.3.4.1/README.md +96 -0
  5. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  6. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  7. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  8. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  9. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  10. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  11. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  12. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  13. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  14. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  15. amps-python-client-5.3.4.1/docs/command-reference/doctrees/environment.pickle +0 -0
  16. amps-python-client-5.3.4.1/docs/command-reference/doctrees/index.doctree +0 -0
  17. amps-python-client-5.3.4.1/docs/command-reference/html/.buildinfo +4 -0
  18. amps-python-client-5.3.4.1/docs/command-reference/html/_images/caution.svg +25 -0
  19. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +32 -0
  20. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +27 -0
  21. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/intro.rst.txt +43 -0
  22. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/logon.rst.txt +231 -0
  23. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +1474 -0
  24. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/publishing.rst.txt +25 -0
  25. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +12 -0
  26. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +23 -0
  27. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/removing.rst.txt +6 -0
  28. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/utilities.rst.txt +13 -0
  29. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/index.rst.txt +56 -0
  30. amps-python-client-5.3.4.1/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  31. amps-python-client-5.3.4.1/docs/command-reference/html/_static/alabaster.css +699 -0
  32. amps-python-client-5.3.4.1/docs/command-reference/html/_static/basic.css +632 -0
  33. amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment-bright.png +0 -0
  34. amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment-close.png +0 -0
  35. amps-python-client-5.3.4.1/docs/command-reference/html/_static/comment.png +0 -0
  36. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css +192 -0
  37. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css.backup +161 -0
  38. amps-python-client-5.3.4.1/docs/command-reference/html/_static/doctools.js +287 -0
  39. amps-python-client-5.3.4.1/docs/command-reference/html/_static/down-pressed.png +0 -0
  40. amps-python-client-5.3.4.1/docs/command-reference/html/_static/down.png +0 -0
  41. amps-python-client-5.3.4.1/docs/command-reference/html/_static/file.png +0 -0
  42. amps-python-client-5.3.4.1/docs/command-reference/html/_static/flag_logo.png +0 -0
  43. amps-python-client-5.3.4.1/docs/command-reference/html/_static/flag_logo.svg +153 -0
  44. amps-python-client-5.3.4.1/docs/command-reference/html/_static/jquery-3.1.0.js +10074 -0
  45. amps-python-client-5.3.4.1/docs/command-reference/html/_static/jquery.js +4 -0
  46. amps-python-client-5.3.4.1/docs/command-reference/html/_static/minus.png +0 -0
  47. amps-python-client-5.3.4.1/docs/command-reference/html/_static/plus.png +0 -0
  48. amps-python-client-5.3.4.1/docs/command-reference/html/_static/pygments.css +74 -0
  49. amps-python-client-5.3.4.1/docs/command-reference/html/_static/searchtools.js +758 -0
  50. amps-python-client-5.3.4.1/docs/command-reference/html/_static/underscore-1.3.1.js +999 -0
  51. amps-python-client-5.3.4.1/docs/command-reference/html/_static/underscore.js +31 -0
  52. amps-python-client-5.3.4.1/docs/command-reference/html/_static/up-pressed.png +0 -0
  53. amps-python-client-5.3.4.1/docs/command-reference/html/_static/up.png +0 -0
  54. amps-python-client-5.3.4.1/docs/command-reference/html/_static/websupport.js +808 -0
  55. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/ack-messages.html +417 -0
  56. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/content-messages.html +417 -0
  57. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/intro.html +126 -0
  58. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/logon.html +295 -0
  59. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/protocol-reference.html +1190 -0
  60. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/publishing.html +436 -0
  61. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-delimiters.html +173 -0
  62. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-subscribe.html +2123 -0
  63. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/removing.html +299 -0
  64. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/utilities.html +287 -0
  65. amps-python-client-5.3.4.1/docs/command-reference/html/genindex.html +97 -0
  66. amps-python-client-5.3.4.1/docs/command-reference/html/index.html +138 -0
  67. amps-python-client-5.3.4.1/docs/command-reference/html/objects.inv +0 -0
  68. amps-python-client-5.3.4.1/docs/command-reference/html/search.html +107 -0
  69. amps-python-client-5.3.4.1/docs/command-reference/html/searchindex.js +1 -0
  70. amps-python-client-5.3.4.1/docs/html/.buildinfo +4 -0
  71. amps-python-client-5.3.4.1/docs/html/_sources/code.rst.txt +6 -0
  72. amps-python-client-5.3.4.1/docs/html/_sources/index.rst.txt +29 -0
  73. amps-python-client-5.3.4.1/docs/html/_static/ajax-loader.gif +0 -0
  74. amps-python-client-5.3.4.1/docs/html/_static/basic.css +632 -0
  75. amps-python-client-5.3.4.1/docs/html/_static/classic.css +261 -0
  76. amps-python-client-5.3.4.1/docs/html/_static/comment-bright.png +0 -0
  77. amps-python-client-5.3.4.1/docs/html/_static/comment-close.png +0 -0
  78. amps-python-client-5.3.4.1/docs/html/_static/comment.png +0 -0
  79. amps-python-client-5.3.4.1/docs/html/_static/default.css +1 -0
  80. amps-python-client-5.3.4.1/docs/html/_static/doctools.js +287 -0
  81. amps-python-client-5.3.4.1/docs/html/_static/down-pressed.png +0 -0
  82. amps-python-client-5.3.4.1/docs/html/_static/down.png +0 -0
  83. amps-python-client-5.3.4.1/docs/html/_static/file.png +0 -0
  84. amps-python-client-5.3.4.1/docs/html/_static/jquery-3.1.0.js +10074 -0
  85. amps-python-client-5.3.4.1/docs/html/_static/jquery.js +4 -0
  86. amps-python-client-5.3.4.1/docs/html/_static/minus.png +0 -0
  87. amps-python-client-5.3.4.1/docs/html/_static/plus.png +0 -0
  88. amps-python-client-5.3.4.1/docs/html/_static/pygments.css +74 -0
  89. amps-python-client-5.3.4.1/docs/html/_static/searchtools.js +758 -0
  90. amps-python-client-5.3.4.1/docs/html/_static/sidebar.js +159 -0
  91. amps-python-client-5.3.4.1/docs/html/_static/underscore-1.3.1.js +999 -0
  92. amps-python-client-5.3.4.1/docs/html/_static/underscore.js +31 -0
  93. amps-python-client-5.3.4.1/docs/html/_static/up-pressed.png +0 -0
  94. amps-python-client-5.3.4.1/docs/html/_static/up.png +0 -0
  95. amps-python-client-5.3.4.1/docs/html/_static/websupport.js +808 -0
  96. amps-python-client-5.3.4.1/docs/html/code.html +6503 -0
  97. amps-python-client-5.3.4.1/docs/html/genindex.html +1361 -0
  98. amps-python-client-5.3.4.1/docs/html/index.html +131 -0
  99. amps-python-client-5.3.4.1/docs/html/objects.inv +0 -0
  100. amps-python-client-5.3.4.1/docs/html/py-modindex.html +111 -0
  101. amps-python-client-5.3.4.1/docs/html/search.html +107 -0
  102. amps-python-client-5.3.4.1/docs/html/searchindex.js +1 -0
  103. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  104. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  105. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  106. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  107. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/deltas.doctree +0 -0
  108. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  109. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  110. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/first-program.doctree +0 -0
  111. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  112. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/installing.doctree +0 -0
  113. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/introduction.doctree +0 -0
  114. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  115. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  116. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/queues.doctree +0 -0
  117. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/sow.doctree +0 -0
  118. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  119. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/utilities.doctree +0 -0
  120. amps-python-client-5.3.4.1/docs/python/doctrees/environment.pickle +0 -0
  121. amps-python-client-5.3.4.1/docs/python/doctrees/index.doctree +0 -0
  122. amps-python-client-5.3.4.1/docs/python/html/.buildinfo +4 -0
  123. amps-python-client-5.3.4.1/docs/python/html/_images/caution.png +0 -0
  124. amps-python-client-5.3.4.1/docs/python/html/_images/caution.svg +25 -0
  125. amps-python-client-5.3.4.1/docs/python/html/_images/connection_string.svg +461 -0
  126. amps-python-client-5.3.4.1/docs/python/html/_images/important.png +0 -0
  127. amps-python-client-5.3.4.1/docs/python/html/_images/important.svg +25 -0
  128. amps-python-client-5.3.4.1/docs/python/html/_images/tip.png +0 -0
  129. amps-python-client-5.3.4.1/docs/python/html/_images/tip.svg +31 -0
  130. amps-python-client-5.3.4.1/docs/python/html/_images/warning.png +0 -0
  131. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
  132. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +6 -0
  133. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
  134. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
  135. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
  136. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/error-handling.rst.txt +482 -0
  137. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/exceptions.rst.txt +128 -0
  138. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/first-program.rst.txt +142 -0
  139. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/high-availability.rst.txt +876 -0
  140. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
  141. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
  142. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
  143. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/performance-tips.rst.txt +434 -0
  144. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
  145. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/sow.rst.txt +292 -0
  146. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
  147. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
  148. amps-python-client-5.3.4.1/docs/python/html/_sources/index.rst.txt +44 -0
  149. amps-python-client-5.3.4.1/docs/python/html/_static/ajax-loader.gif +0 -0
  150. amps-python-client-5.3.4.1/docs/python/html/_static/alabaster.css +699 -0
  151. amps-python-client-5.3.4.1/docs/python/html/_static/basic.css +632 -0
  152. amps-python-client-5.3.4.1/docs/python/html/_static/comment-bright.png +0 -0
  153. amps-python-client-5.3.4.1/docs/python/html/_static/comment-close.png +0 -0
  154. amps-python-client-5.3.4.1/docs/python/html/_static/comment.png +0 -0
  155. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css +192 -0
  156. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css.backup +161 -0
  157. amps-python-client-5.3.4.1/docs/python/html/_static/doctools.js +287 -0
  158. amps-python-client-5.3.4.1/docs/python/html/_static/down-pressed.png +0 -0
  159. amps-python-client-5.3.4.1/docs/python/html/_static/down.png +0 -0
  160. amps-python-client-5.3.4.1/docs/python/html/_static/file.png +0 -0
  161. amps-python-client-5.3.4.1/docs/python/html/_static/flag_logo.png +0 -0
  162. amps-python-client-5.3.4.1/docs/python/html/_static/flag_logo.svg +153 -0
  163. amps-python-client-5.3.4.1/docs/python/html/_static/jquery-3.1.0.js +10074 -0
  164. amps-python-client-5.3.4.1/docs/python/html/_static/jquery.js +4 -0
  165. amps-python-client-5.3.4.1/docs/python/html/_static/minus.png +0 -0
  166. amps-python-client-5.3.4.1/docs/python/html/_static/plus.png +0 -0
  167. amps-python-client-5.3.4.1/docs/python/html/_static/pygments.css +74 -0
  168. amps-python-client-5.3.4.1/docs/python/html/_static/searchtools.js +758 -0
  169. amps-python-client-5.3.4.1/docs/python/html/_static/underscore-1.3.1.js +999 -0
  170. amps-python-client-5.3.4.1/docs/python/html/_static/underscore.js +31 -0
  171. amps-python-client-5.3.4.1/docs/python/html/_static/up-pressed.png +0 -0
  172. amps-python-client-5.3.4.1/docs/python/html/_static/up.png +0 -0
  173. amps-python-client-5.3.4.1/docs/python/html/_static/websupport.js +808 -0
  174. amps-python-client-5.3.4.1/docs/python/html/chapters/advanced-topics.html +447 -0
  175. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-compiler-list.html +92 -0
  176. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-feature-table.html +156 -0
  177. amps-python-client-5.3.4.1/docs/python/html/chapters/creating-commands.html +2837 -0
  178. amps-python-client-5.3.4.1/docs/python/html/chapters/deltas.html +169 -0
  179. amps-python-client-5.3.4.1/docs/python/html/chapters/error-handling.html +746 -0
  180. amps-python-client-5.3.4.1/docs/python/html/chapters/exceptions.html +272 -0
  181. amps-python-client-5.3.4.1/docs/python/html/chapters/first-program.html +499 -0
  182. amps-python-client-5.3.4.1/docs/python/html/chapters/high-availability.html +1014 -0
  183. amps-python-client-5.3.4.1/docs/python/html/chapters/installing.html +264 -0
  184. amps-python-client-5.3.4.1/docs/python/html/chapters/introduction.html +245 -0
  185. amps-python-client-5.3.4.1/docs/python/html/chapters/moving-from-python-lite.html +118 -0
  186. amps-python-client-5.3.4.1/docs/python/html/chapters/performance-tips.html +499 -0
  187. amps-python-client-5.3.4.1/docs/python/html/chapters/queues.html +352 -0
  188. amps-python-client-5.3.4.1/docs/python/html/chapters/sow.html +381 -0
  189. amps-python-client-5.3.4.1/docs/python/html/chapters/subscriptions.html +535 -0
  190. amps-python-client-5.3.4.1/docs/python/html/chapters/utilities.html +302 -0
  191. amps-python-client-5.3.4.1/docs/python/html/genindex.html +351 -0
  192. amps-python-client-5.3.4.1/docs/python/html/index.html +380 -0
  193. amps-python-client-5.3.4.1/docs/python/html/objects.inv +0 -0
  194. amps-python-client-5.3.4.1/docs/python/html/search.html +107 -0
  195. amps-python-client-5.3.4.1/docs/python/html/searchindex.js +1 -0
  196. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  197. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  198. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/environment.pickle +0 -0
  199. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/index.doctree +0 -0
  200. amps-python-client-5.3.4.1/docs/python-quickstart/html/.buildinfo +4 -0
  201. amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +155 -0
  202. amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +19 -0
  203. amps-python-client-5.3.4.1/docs/python-quickstart/html/_sources/index.rst.txt +20 -0
  204. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  205. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/alabaster.css +699 -0
  206. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/basic.css +632 -0
  207. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  208. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment-close.png +0 -0
  209. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/comment.png +0 -0
  210. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css +192 -0
  211. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css.backup +161 -0
  212. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/doctools.js +287 -0
  213. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  214. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/down.png +0 -0
  215. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/file.png +0 -0
  216. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  217. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/flag_logo.svg +153 -0
  218. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/jquery-3.1.0.js +10074 -0
  219. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/jquery.js +4 -0
  220. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/minus.png +0 -0
  221. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/plus.png +0 -0
  222. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/pygments.css +74 -0
  223. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/searchtools.js +758 -0
  224. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/underscore-1.3.1.js +999 -0
  225. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/underscore.js +31 -0
  226. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  227. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/up.png +0 -0
  228. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/websupport.js +808 -0
  229. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/crankitup.html +271 -0
  230. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/equipment.html +105 -0
  231. amps-python-client-5.3.4.1/docs/python-quickstart/html/genindex.html +97 -0
  232. amps-python-client-5.3.4.1/docs/python-quickstart/html/index.html +382 -0
  233. amps-python-client-5.3.4.1/docs/python-quickstart/html/objects.inv +0 -0
  234. amps-python-client-5.3.4.1/docs/python-quickstart/html/search.html +107 -0
  235. amps-python-client-5.3.4.1/docs/python-quickstart/html/searchindex.js +1 -0
  236. amps-python-client-5.3.4.1/docs/resources/custom.css +9 -0
  237. amps-python-client-5.3.4.1/docs/resources/flag_logo.svg +153 -0
  238. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  239. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  240. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  241. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  242. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  243. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  244. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  245. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  246. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  247. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  248. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  249. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  250. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  251. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  252. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  253. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  254. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  255. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  256. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  257. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  258. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  259. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  260. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  261. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  262. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  263. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  264. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  265. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  266. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  267. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  268. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  269. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  270. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  271. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  272. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  273. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  274. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  275. amps-python-client-5.3.4.1/docs/user-guide/doctrees/environment.pickle +0 -0
  276. amps-python-client-5.3.4.1/docs/user-guide/doctrees/index.doctree +0 -0
  277. amps-python-client-5.3.4.1/docs/user-guide/html/.buildinfo +4 -0
  278. amps-python-client-5.3.4.1/docs/user-guide/html/_images/AMPS-Queues-Intro.svg +1330 -0
  279. amps-python-client-5.3.4.1/docs/user-guide/html/_images/GeoRepl.png +0 -0
  280. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_async_ack.png +0 -0
  281. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_sync_ack.png +0 -0
  282. amps-python-client-5.3.4.1/docs/user-guide/html/_images/Hot-Hot-Replication.png +0 -0
  283. amps-python-client-5.3.4.1/docs/user-guide/html/_images/MessageOrdering.svg +235 -0
  284. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF5.png +0 -0
  285. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF6.png +0 -0
  286. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF7.png +0 -0
  287. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF8.png +0 -0
  288. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub1.svg +1 -0
  289. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub2.svg +1 -0
  290. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWAndSubscribeAndReplace.svg +684 -0
  291. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery1.svg +402 -0
  292. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery2.svg +505 -0
  293. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig1.svg +1 -0
  294. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig2.svg +1 -0
  295. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig3.svg +1 -0
  296. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig4.svg +1 -0
  297. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.png +0 -0
  298. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.svg +25 -0
  299. amps-python-client-5.3.4.1/docs/user-guide/html/_images/chicago_group.png +0 -0
  300. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_original_messages.png +0 -0
  301. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_update_message.png +0 -0
  302. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.png +0 -0
  303. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.svg +25 -0
  304. amps-python-client-5.3.4.1/docs/user-guide/html/_images/inline_view_conflation.svg +1 -0
  305. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_pub.png +0 -0
  306. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_sub.png +0 -0
  307. amps-python-client-5.3.4.1/docs/user-guide/html/_images/queue_usage_overview.svg +627 -0
  308. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_hub.png +0 -0
  309. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_scenario_with_ha.png +0 -0
  310. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_1.svg +248 -0
  311. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_2.svg +183 -0
  312. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_update_sequence.svg +1 -0
  313. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.png +0 -0
  314. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.svg +31 -0
  315. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.png +0 -0
  316. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.svg +23 -0
  317. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/acks.rst.txt +232 -0
  318. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/actions.rst.txt +111 -0
  319. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +358 -0
  320. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +83 -0
  321. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +11 -0
  322. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +86 -0
  323. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +9 -0
  324. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +111 -0
  325. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +269 -0
  326. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/daemon.rst.txt +232 -0
  327. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/delta.rst.txt +556 -0
  328. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/distribution.rst.txt +186 -0
  329. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +191 -0
  330. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/events.rst.txt +39 -0
  331. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +203 -0
  332. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/glossary.rst.txt +101 -0
  333. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/ha.rst.txt +465 -0
  334. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +23 -0
  335. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/intro.rst.txt +116 -0
  336. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/logging.rst.txt +34 -0
  337. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +1398 -0
  338. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +326 -0
  339. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/oof.rst.txt +312 -0
  340. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/operation.rst.txt +27 -0
  341. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +49 -0
  342. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/queues.rst.txt +1351 -0
  343. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/replication.rst.txt +1228 -0
  344. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/securing.rst.txt +657 -0
  345. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow.rst.txt +57 -0
  346. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +25 -0
  347. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/spark.rst.txt +824 -0
  348. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/transports.rst.txt +291 -0
  349. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +517 -0
  350. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/txlog.rst.txt +62 -0
  351. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/usecases.rst.txt +21 -0
  352. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/utilities.rst.txt +62 -0
  353. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/views.rst.txt +175 -0
  354. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/index.rst.txt +110 -0
  355. amps-python-client-5.3.4.1/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  356. amps-python-client-5.3.4.1/docs/user-guide/html/_static/alabaster.css +695 -0
  357. amps-python-client-5.3.4.1/docs/user-guide/html/_static/basic.css +632 -0
  358. amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment-bright.png +0 -0
  359. amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment-close.png +0 -0
  360. amps-python-client-5.3.4.1/docs/user-guide/html/_static/comment.png +0 -0
  361. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css +192 -0
  362. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css.backup +161 -0
  363. amps-python-client-5.3.4.1/docs/user-guide/html/_static/doctools.js +287 -0
  364. amps-python-client-5.3.4.1/docs/user-guide/html/_static/down-pressed.png +0 -0
  365. amps-python-client-5.3.4.1/docs/user-guide/html/_static/down.png +0 -0
  366. amps-python-client-5.3.4.1/docs/user-guide/html/_static/file.png +0 -0
  367. amps-python-client-5.3.4.1/docs/user-guide/html/_static/flag_logo.png +0 -0
  368. amps-python-client-5.3.4.1/docs/user-guide/html/_static/flag_logo.svg +153 -0
  369. amps-python-client-5.3.4.1/docs/user-guide/html/_static/jquery-3.1.0.js +10074 -0
  370. amps-python-client-5.3.4.1/docs/user-guide/html/_static/jquery.js +4 -0
  371. amps-python-client-5.3.4.1/docs/user-guide/html/_static/minus.png +0 -0
  372. amps-python-client-5.3.4.1/docs/user-guide/html/_static/plus.png +0 -0
  373. amps-python-client-5.3.4.1/docs/user-guide/html/_static/pygments.css +74 -0
  374. amps-python-client-5.3.4.1/docs/user-guide/html/_static/searchtools.js +758 -0
  375. amps-python-client-5.3.4.1/docs/user-guide/html/_static/underscore-1.3.1.js +999 -0
  376. amps-python-client-5.3.4.1/docs/user-guide/html/_static/underscore.js +31 -0
  377. amps-python-client-5.3.4.1/docs/user-guide/html/_static/up-pressed.png +0 -0
  378. amps-python-client-5.3.4.1/docs/user-guide/html/_static/up.png +0 -0
  379. amps-python-client-5.3.4.1/docs/user-guide/html/_static/websupport.js +808 -0
  380. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/acks.html +289 -0
  381. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/actions.html +3782 -0
  382. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps-statistics.html +439 -0
  383. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_expressions.html +1552 -0
  384. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_functions.html +1626 -0
  385. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/auxiliary_modules.html +2548 -0
  386. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/config-file-shortcuts.html +508 -0
  387. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/conflated_topics.html +328 -0
  388. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/constructing-fields.html +447 -0
  389. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/daemon.html +295 -0
  390. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/delta.html +609 -0
  391. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/distribution.html +246 -0
  392. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/enrichment.html +264 -0
  393. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/events.html +449 -0
  394. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/file_format_versions.html +229 -0
  395. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/glossary.html +215 -0
  396. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/ha.html +978 -0
  397. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/installing_and_starting.html +357 -0
  398. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/intro.html +572 -0
  399. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/logging.html +972 -0
  400. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/messageTypes.html +1280 -0
  401. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/monitoring.html +718 -0
  402. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/oof.html +341 -0
  403. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/operation.html +1515 -0
  404. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/pub_sub.html +934 -0
  405. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/queues.html +1767 -0
  406. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/replication.html +1777 -0
  407. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/securing.html +697 -0
  408. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow.html +1038 -0
  409. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow_queries.html +621 -0
  410. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/spark.html +819 -0
  411. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/transports.html +352 -0
  412. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/troubleshooting.html +530 -0
  413. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/txlog.html +1013 -0
  414. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/usecases.html +288 -0
  415. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/utilities.html +133 -0
  416. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/views.html +1120 -0
  417. amps-python-client-5.3.4.1/docs/user-guide/html/genindex.html +1261 -0
  418. amps-python-client-5.3.4.1/docs/user-guide/html/index.html +163 -0
  419. amps-python-client-5.3.4.1/docs/user-guide/html/objects.inv +0 -0
  420. amps-python-client-5.3.4.1/docs/user-guide/html/search.html +106 -0
  421. amps-python-client-5.3.4.1/docs/user-guide/html/searchindex.js +1 -0
  422. amps-python-client-5.3.4.1/include/ampspy_bookmarkstore.hpp +63 -0
  423. amps-python-client-5.3.4.1/include/ampspy_compat.h +63 -0
  424. amps-python-client-5.3.4.1/include/ampspy_defs.hpp +181 -0
  425. amps-python-client-5.3.4.1/include/ampspy_recoverypointadapter.hpp +52 -0
  426. amps-python-client-5.3.4.1/include/ampspy_shims.hpp +113 -0
  427. amps-python-client-5.3.4.1/include/ampspy_type_object.hpp +242 -0
  428. amps-python-client-5.3.4.1/include/ampspy_types.hpp +1139 -0
  429. amps-python-client-5.3.4.1/include/ampspyver.h +30 -0
  430. amps-python-client-5.3.4.1/index.html +66 -0
  431. amps-python-client-5.3.4.1/samples/AMPSConsolePublisher.py +59 -0
  432. amps-python-client-5.3.4.1/samples/AMPSConsoleSubscriber.py +63 -0
  433. amps-python-client-5.3.4.1/samples/AMPSFIXBuilderPublisher.py +71 -0
  434. amps-python-client-5.3.4.1/samples/AMPSFIXShredderSubscriber.py +69 -0
  435. amps-python-client-5.3.4.1/samples/AMPSNVFIXBuilderPublisher.py +71 -0
  436. amps-python-client-5.3.4.1/samples/AMPSNVFIXShredderSubscriber.py +67 -0
  437. amps-python-client-5.3.4.1/samples/AMPSPublishForReplay.py +81 -0
  438. amps-python-client-5.3.4.1/samples/AMPSQueueConsumer.py +69 -0
  439. amps-python-client-5.3.4.1/samples/AMPSQueuePublisher.py +59 -0
  440. amps-python-client-5.3.4.1/samples/AMPSSOWConsolePublisher.py +67 -0
  441. amps-python-client-5.3.4.1/samples/AMPSSOWConsoleSubscriber.py +77 -0
  442. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
  443. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
  444. amps-python-client-5.3.4.1/samples/AMPSSubscribeForReplay.py +128 -0
  445. amps-python-client-5.3.4.1/samples/AMPSUpdateForOOF.py +123 -0
  446. amps-python-client-5.3.4.1/samples/CompositeMessagePublisher.py +84 -0
  447. amps-python-client-5.3.4.1/samples/CompositeMessageSubscriber.py +87 -0
  448. amps-python-client-5.3.4.1/samples/RandomServerChooser.py +41 -0
  449. amps-python-client-5.3.4.1/samples/sample.xml +335 -0
  450. amps-python-client-5.3.4.1/setup.py +209 -0
  451. amps-python-client-5.3.4.1/setup_amps.py +94 -0
  452. amps-python-client-5.3.4.1/src/ampspy_shims.cpp +203 -0
  453. amps-python-client-5.3.4.1/src/ampspy_type_object.cpp +484 -0
  454. amps-python-client-5.3.4.1/src/authenticator.cpp +128 -0
  455. amps-python-client-5.3.4.1/src/bookmarkstore.cpp +238 -0
  456. amps-python-client-5.3.4.1/src/client.cpp +2430 -0
  457. amps-python-client-5.3.4.1/src/client_docs.h +956 -0
  458. amps-python-client-5.3.4.1/src/cmessagehandler.cpp +151 -0
  459. amps-python-client-5.3.4.1/src/command.cpp +164 -0
  460. amps-python-client-5.3.4.1/src/command_docs.h +194 -0
  461. amps-python-client-5.3.4.1/src/compositemessagebuilder.cpp +111 -0
  462. amps-python-client-5.3.4.1/src/compositemessageparser.cpp +146 -0
  463. amps-python-client-5.3.4.1/src/conflatingrecoverypointadapter.cpp +194 -0
  464. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockPublishStore.hpp +2053 -0
  465. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockStore.hpp +677 -0
  466. amps-python-client-5.3.4.1/src/cpp/include/amps/BookmarkStore.hpp +542 -0
  467. amps-python-client-5.3.4.1/src/cpp/include/amps/Buffer.hpp +214 -0
  468. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
  469. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
  470. amps-python-client-5.3.4.1/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
  471. amps-python-client-5.3.4.1/src/cpp/include/amps/Field.hpp +719 -0
  472. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClient.hpp +370 -0
  473. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClientImpl.hpp +460 -0
  474. amps-python-client-5.3.4.1/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
  475. amps-python-client-5.3.4.1/src/cpp/include/amps/LoggedBookmarkStore.hpp +1255 -0
  476. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
  477. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapStoreBuffer.hpp +290 -0
  478. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryBookmarkStore.hpp +1622 -0
  479. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
  480. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryStoreBuffer.hpp +244 -0
  481. amps-python-client-5.3.4.1/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
  482. amps-python-client-5.3.4.1/src/cpp/include/amps/Message.hpp +1819 -0
  483. amps-python-client-5.3.4.1/src/cpp/include/amps/MessageRouter.hpp +618 -0
  484. amps-python-client-5.3.4.1/src/cpp/include/amps/PublishStore.hpp +158 -0
  485. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
  486. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
  487. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
  488. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
  489. amps-python-client-5.3.4.1/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
  490. amps-python-client-5.3.4.1/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +490 -0
  491. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooser.hpp +145 -0
  492. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
  493. amps-python-client-5.3.4.1/src/cpp/include/amps/amps.h +775 -0
  494. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_generated.h +46 -0
  495. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_impl.h +204 -0
  496. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_ssl.h +78 -0
  497. amps-python-client-5.3.4.1/src/cpp/include/amps/ampscrc.hpp +210 -0
  498. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsplusplus.hpp +8817 -0
  499. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsuri.h +84 -0
  500. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h +41 -0
  501. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h.in +41 -0
  502. amps-python-client-5.3.4.1/src/cpp/include/amps/constants.hpp +194 -0
  503. amps-python-client-5.3.4.1/src/cpp/include/amps/util.hpp +1692 -0
  504. amps-python-client-5.3.4.1/src/cpp/src/amps_protocol.c +688 -0
  505. amps-python-client-5.3.4.1/src/cpp/src/amps_protocol_generated.h +80 -0
  506. amps-python-client-5.3.4.1/src/cpp/src/amps_ssl.c +489 -0
  507. amps-python-client-5.3.4.1/src/cpp/src/atfork.c +446 -0
  508. amps-python-client-5.3.4.1/src/cpp/src/client.c +483 -0
  509. amps-python-client-5.3.4.1/src/cpp/src/makefile +92 -0
  510. amps-python-client-5.3.4.1/src/cpp/src/message.c +837 -0
  511. amps-python-client-5.3.4.1/src/cpp/src/message_generated.h +611 -0
  512. amps-python-client-5.3.4.1/src/cpp/src/tcp.c +1489 -0
  513. amps-python-client-5.3.4.1/src/cpp/src/tcps.c +1894 -0
  514. amps-python-client-5.3.4.1/src/cpp/src/transports.c +123 -0
  515. amps-python-client-5.3.4.1/src/cpp/src/unix.c +984 -0
  516. amps-python-client-5.3.4.1/src/cpp/src/uri.c +301 -0
  517. amps-python-client-5.3.4.1/src/exponentialdelaystrategy.cpp +137 -0
  518. amps-python-client-5.3.4.1/src/failedwritehandler.cpp +116 -0
  519. amps-python-client-5.3.4.1/src/fixbuilder.cpp +146 -0
  520. amps-python-client-5.3.4.1/src/fixeddelaystrategy.cpp +114 -0
  521. amps-python-client-5.3.4.1/src/fixshredder.cpp +105 -0
  522. amps-python-client-5.3.4.1/src/fixshredder_docs.h +38 -0
  523. amps-python-client-5.3.4.1/src/haclient.cpp +691 -0
  524. amps-python-client-5.3.4.1/src/haclient_docs.h +132 -0
  525. amps-python-client-5.3.4.1/src/hybridpublishstore.cpp +137 -0
  526. amps-python-client-5.3.4.1/src/hybridpublishstore_docs.h +31 -0
  527. amps-python-client-5.3.4.1/src/memorybookmarkstore.cpp +373 -0
  528. amps-python-client-5.3.4.1/src/memorybookmarkstore_docs.h +39 -0
  529. amps-python-client-5.3.4.1/src/memorypublishstore.cpp +160 -0
  530. amps-python-client-5.3.4.1/src/memorypublishstore_docs.h +32 -0
  531. amps-python-client-5.3.4.1/src/message.cpp +765 -0
  532. amps-python-client-5.3.4.1/src/message_docs.h +306 -0
  533. amps-python-client-5.3.4.1/src/messagestream.cpp +623 -0
  534. amps-python-client-5.3.4.1/src/messagestream_docs.h +45 -0
  535. amps-python-client-5.3.4.1/src/mmapbookmarkstore.cpp +422 -0
  536. amps-python-client-5.3.4.1/src/nvfixbuilder.cpp +160 -0
  537. amps-python-client-5.3.4.1/src/nvfixbuilder_docs.h +33 -0
  538. amps-python-client-5.3.4.1/src/nvfixshredder.cpp +99 -0
  539. amps-python-client-5.3.4.1/src/nvfixshredder_docs.h +39 -0
  540. amps-python-client-5.3.4.1/src/publishstore.cpp +183 -0
  541. amps-python-client-5.3.4.1/src/raw_wrapper.cpp +756 -0
  542. amps-python-client-5.3.4.1/src/reason.cpp +71 -0
  543. amps-python-client-5.3.4.1/src/recoverypoint.cpp +135 -0
  544. amps-python-client-5.3.4.1/src/recoverypointadapter.cpp +171 -0
  545. amps-python-client-5.3.4.1/src/ringbookmarkstore.cpp +360 -0
  546. amps-python-client-5.3.4.1/src/serverchooser.cpp +245 -0
  547. amps-python-client-5.3.4.1/src/serverchooser_docs.h +39 -0
  548. amps-python-client-5.3.4.1/src/sowrecoverypointadapter.cpp +248 -0
  549. amps-python-client-5.3.4.1/src/store.cpp +62 -0
  550. amps-python-client-5.3.4.1/src/versioninfo.cpp +175 -0
@@ -0,0 +1,621 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+
9
+ <title>8. SOW Queries &#8212; AMPS User Guide develop documentation</title>
10
+
11
+ <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
+
14
+ <script type="text/javascript">
15
+ var DOCUMENTATION_OPTIONS = {
16
+ URL_ROOT: '../',
17
+ VERSION: 'develop',
18
+ COLLAPSE_INDEX: false,
19
+ FILE_SUFFIX: '.html',
20
+ HAS_SOURCE: true,
21
+ SOURCELINK_SUFFIX: '.txt'
22
+ };
23
+ </script>
24
+ <script type="text/javascript" src="../_static/jquery.js"></script>
25
+ <script type="text/javascript" src="../_static/underscore.js"></script>
26
+ <script type="text/javascript" src="../_static/doctools.js"></script>
27
+ <link rel="index" title="Index" href="../genindex.html" />
28
+ <link rel="search" title="Search" href="../search.html" />
29
+ <link rel="next" title="9. Out-of-Focus Messages (OOF)" href="oof.html" />
30
+ <link rel="prev" title="7. State of the World (SOW)" href="sow.html" />
31
+
32
+ <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
33
+
34
+
35
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
36
+
37
+ </head>
38
+ <body role="document">
39
+ <div class="document">
40
+
41
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
42
+ <div class="sphinxsidebarwrapper">
43
+ <p class="logo"><a href="../index.html">
44
+ <img class="logo" src="../_static/flag_logo.png" alt="Logo"/>
45
+ </a></p>
46
+ <h3><a href="../index.html">Table Of Contents</a></h3>
47
+ <ul>
48
+ <li><a class="reference internal" href="#">8. SOW Queries</a><ul>
49
+ <li><a class="reference internal" href="#overview-of-sow-queries">Overview of SOW Queries</a></li>
50
+ <li><a class="reference internal" href="#historical-sow-queries">Historical SOW Queries</a><ul>
51
+ <li><a class="reference internal" href="#when-to-use-a-historical-sow-query">When to Use a Historical SOW Query</a></li>
52
+ <li><a class="reference internal" href="#configuring-the-topic-window-and-granularity">Configuring the Topic: Window and Granularity</a></li>
53
+ <li><a class="reference internal" href="#message-sequence-flow">Message Sequence Flow</a></li>
54
+ <li><a class="reference internal" href="#pagination-with-historical-sow-queries">Pagination with Historical SOW Queries</a></li>
55
+ </ul>
56
+ </li>
57
+ <li><a class="reference internal" href="#sow-query-and-subscribe">SOW Query and Subscribe</a><ul>
58
+ <li><a class="reference internal" href="#historical-sow-query-and-subscribe">Historical SOW Query and Subscribe</a></li>
59
+ <li><a class="reference internal" href="#conflated-subscriptions-with-sow-and-subscribe">Conflated Subscriptions with SOW and Subscribe</a></li>
60
+ <li><a class="reference internal" href="#replacing-subscriptions-with-sow-and-subscribe">Replacing Subscriptions with SOW and Subscribe</a></li>
61
+ </ul>
62
+ </li>
63
+ <li><a class="reference internal" href="#sow-query-response-batching">SOW Query Response Batching</a></li>
64
+ <li><a class="reference internal" href="#configuring-sow-query-result-sets">Configuring SOW Query Result Sets</a></li>
65
+ <li><a class="reference internal" href="#paginated-sow-and-subscribe">Paginated SOW and Subscribe</a></li>
66
+ <li><a class="reference internal" href="#aggregated-sow-queries">Aggregated SOW Queries</a></li>
67
+ </ul>
68
+ </li>
69
+ </ul>
70
+ <div class="relations">
71
+ <h3>Related Topics</h3>
72
+ <ul>
73
+ <li><a href="../index.html">Documentation overview</a><ul>
74
+ <li>Previous: <a href="sow.html" title="previous chapter">7. State of the World (SOW)</a></li>
75
+ <li>Next: <a href="oof.html" title="next chapter">9. Out-of-Focus Messages (OOF)</a></li>
76
+ </ul></li>
77
+ </ul>
78
+ </div>
79
+ <div id="searchbox" style="display: none" role="search">
80
+ <h3>Quick search</h3>
81
+ <form class="search" action="../search.html" method="get">
82
+ <div><input type="text" name="q" /></div>
83
+ <div><input type="submit" value="Go" /></div>
84
+ <input type="hidden" name="check_keywords" value="yes" />
85
+ <input type="hidden" name="area" value="default" />
86
+ </form>
87
+ </div>
88
+ <script type="text/javascript">$('#searchbox').show(0);</script>
89
+ </div>
90
+ </div>
91
+ <div class="documentwrapper">
92
+ <div class="bodywrapper">
93
+ <div class="body" role="main">
94
+
95
+ <div class="section" id="sow-queries">
96
+ <span id="ug-sow-queries"></span><span id="index-0"></span><span id="id1"></span><h1>8. SOW Queries<a class="headerlink" href="#sow-queries" title="Permalink to this headline">¶</a></h1>
97
+ <p>When SOW topics are configured inside an AMPS instance, clients can
98
+ issue SOW queries to AMPS to retrieve all of the messages matching a
99
+ given topic and content filter. When a query is executed, AMPS will test
100
+ each message in the SOW against the content filter specified and all
101
+ messages matching the filter will be returned to the client. The topic
102
+ can be a straight topic or a regular expression pattern.</p>
103
+ <div class="section" id="overview-of-sow-queries">
104
+ <span id="sow-queries-simple"></span><h2>Overview of SOW Queries<a class="headerlink" href="#overview-of-sow-queries" title="Permalink to this headline">¶</a></h2>
105
+ <p>A client can issue a query by sending AMPS a <code class="docutils literal"><span class="pre">sow</span></code> command and
106
+ specifying an AMPS topic. Optionally a filter can be used to further
107
+ refine the query results. AMPS also allows you to restrict the query to
108
+ a specific set of messages identified by a set of SowKeys. When AMPS
109
+ receives the <code class="docutils literal"><span class="pre">sow</span></code> command request, it will validate the filter and
110
+ start executing the query. When returning a query result back to the
111
+ client, AMPS will package the <code class="docutils literal"><span class="pre">sow</span></code> results into a <code class="docutils literal"><span class="pre">sow</span></code> record
112
+ group by first sending a <code class="docutils literal"><span class="pre">group_begin</span></code> message followed by the
113
+ matching SOW records, if any, and finally indicating that all records
114
+ have been sent by terminating with a <code class="docutils literal"><span class="pre">group_end</span></code> message. AMPS returns
115
+ the results for a SOW query in a single, atomic operation. Any messages
116
+ for the client that arrive during the SOW query are delivered after the
117
+ SOW results.</p>
118
+ <p>The sequence diagram below illustrates the message flow for a SOW query.</p>
119
+ <p>For purposes of correlating a query request to its result, each query
120
+ command can specify a <code class="docutils literal"><span class="pre">QueryId</span></code>. The <code class="docutils literal"><span class="pre">QueryId</span></code> specified will be
121
+ returned as part of the response that is delivered back to the client.
122
+ 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 will have the <code class="docutils literal"><span class="pre">QueryId</span></code>
123
+ attribute set to the value provided by the client. The client specified
124
+ <code class="docutils literal"><span class="pre">QueryId</span></code> is what the client can use to correlate query commands and
125
+ responses coming from the AMPS engine.</p>
126
+ <p>AMPS does not allow a <code class="docutils literal"><span class="pre">sow</span></code> command on topics that do not have a SOW
127
+ enabled. If a client queries a topic that does not have a SOW enabled,
128
+ AMPS returns an error.</p>
129
+ <div class="admonition caution">
130
+ <p class="first admonition-title">Caution</p>
131
+ <p class="last">The ordering of records returned by a SOW query is undefined by
132
+ default. You can include an OrderBy parameter on the query
133
+ to specify a particular ordering based on the contents of the
134
+ messages.</p>
135
+ </div>
136
+ <div class="figure" id="fig-sow-queries-sequence-diagram">
137
+ <a class="reference internal image-reference" href="../_images/SOWQuery1.svg"><img alt="SOW Query Sequence Diagram" src="../_images/SOWQuery1.svg" width="75.0%" /></a>
138
+ </div>
139
+ </div>
140
+ <div class="section" id="historical-sow-queries">
141
+ <span id="sow-queries-historical"></span><h2>Historical SOW Queries<a class="headerlink" href="#historical-sow-queries" title="Permalink to this headline">¶</a></h2>
142
+ <p>Topics in the State of the World can also be configured to include historical
143
+ snapshots of messages, which allows subscribers to retrieve the contents of
144
+ the topic at a particular point in time.</p>
145
+ <p>As with simple queries, a client can issue a query by sending AMPS a
146
+ <code class="docutils literal"><span class="pre">sow</span></code> command and specifying an AMPS topic. For a historical query,
147
+ the client also adds a timestamp that includes the point in time for the
148
+ query in the <code class="docutils literal"><span class="pre">Bookmark</span></code> header of the command. A filter can be used to
149
+ further refine the query results based on the message content.</p>
150
+ <div class="section" id="when-to-use-a-historical-sow-query">
151
+ <h3>When to Use a Historical SOW Query<a class="headerlink" href="#when-to-use-a-historical-sow-query" title="Permalink to this headline">¶</a></h3>
152
+ <p>Use a historical SOW query when it is important to get a snapshot of the
153
+ state of messages in a topic as they existed at a specific point in time
154
+ (that is, if it is important for an application to be able to query the
155
+ state of the world at a point in time).</p>
156
+ <p>If an application needs to replay the exact sequence of messages delivered
157
+ to a topic, but does not need to be able to query the values that were current
158
+ at a specific point in time, record the topic in the transaction log and
159
+ replay from the transaction log.</p>
160
+ <p>If an application needs to <em>both</em> retrieve a snapshot of the values that
161
+ were current at a specific point in time and replay the exact sequence of
162
+ messages from that point forward, use a historical SOW query and record
163
+ the topic in the transaction log.</p>
164
+ </div>
165
+ <div class="section" id="configuring-the-topic-window-and-granularity">
166
+ <h3>Configuring the Topic: Window and Granularity<a class="headerlink" href="#configuring-the-topic-window-and-granularity" title="Permalink to this headline">¶</a></h3>
167
+ <p>By default, AMPS does not maintain history for a topic in the State of
168
+ the World. To enable history (and historical query) for the topic,
169
+ add the <code class="docutils literal"><span class="pre">History</span></code> element to the <code class="docutils literal"><span class="pre">Topic</span></code> configuration. This element
170
+ configures how much information AMPS stores for enabling historical
171
+ queries.</p>
172
+ <p>There are two options that control how AMPS stores data for historical
173
+ queries:</p>
174
+ <ol class="arabic simple">
175
+ <li>The <code class="docutils literal"><span class="pre">Window</span></code> option sets the amount of time that AMPS will retain
176
+ historical versions of messages. AMPS will remove the historical state
177
+ of the message from the SOW topic once that historical state is older
178
+ than the specified window. (If the message has been deleted, and the
179
+ delete command is older than the specified window, AMPS may remove the
180
+ message from the SOW topic entirely). AMPS always retains
181
+ the most current state of a message, even if that state was published
182
+ earlier than the specified <code class="docutils literal"><span class="pre">Window</span></code>.</li>
183
+ <li>The <code class="docutils literal"><span class="pre">Granularity</span></code> option sets the interval at which AMPS retains a
184
+ historical copy of a message in the SOW. For example, if the
185
+ <code class="docutils literal"><span class="pre">Granularity</span></code> is set to <code class="docutils literal"><span class="pre">10m</span></code>, AMPS stores a historical copy of the
186
+ message no more frequently than every 10 minutes, regardless of how many
187
+ times the message is updated in that 10 minute interval. AMPS stores the
188
+ copies when a new message arrives to update the SOW. This means that
189
+ AMPS always returns a valid SOW state that reflects a published message,
190
+ but &#8211; as with a conflated topic &#8211; the SOW may not reflect all of the
191
+ states that a message passes through. This also means that AMPS uses SOW
192
+ space efficiently. If no updates have arrived for a message, since the
193
+ last time a historical message was saved, AMPS has no need to save
194
+ another copy of the message.</li>
195
+ </ol>
196
+ <p>When a message is deleted from a topic that maintains history, AMPS
197
+ saves the fact that the message has been deleted, and queries as of
198
+ that point in time will not return the message. However, previously
199
+ saved states of the message within the <code class="docutils literal"><span class="pre">Window</span></code> are still present,
200
+ and can still be queried.</p>
201
+ <p>Likewise, if an application queries at a point in time earlier than the
202
+ <code class="docutils literal"><span class="pre">Window</span></code>, AMPS will return an empty result set (even if messages had
203
+ actually been present in the topic at that point), since the SOW state is
204
+ only retained for the period in the <code class="docutils literal"><span class="pre">Window</span></code>.</p>
205
+ <div class="admonition tip">
206
+ <p class="first admonition-title">Tip</p>
207
+ <p class="last">The <code class="docutils literal"><span class="pre">Granularity</span></code> for a topic is always specified as a duration. If
208
+ your application requires that a query be able to return the exact
209
+ state of the SOW exactly as AMPS would have represented it at that time
210
+ (with no tolerance for the granularity), you can specify that AMPS
211
+ keep every message during the <code class="docutils literal"><span class="pre">Window</span></code> by specifying a <code class="docutils literal"><span class="pre">Granularity</span></code>
212
+ of <code class="docutils literal"><span class="pre">0s</span></code>. Notice that this is <em>not</em> required to replay every message
213
+ after a point-in-time query, since replay is delivered from the
214
+ transaction log rather than the stored State of the World.</p>
215
+ </div>
216
+ <p>When a historical SOW and Subscribe query is entered, and the topic is
217
+ covered by a transaction log, AMPS returns the state of the SOW adjusted
218
+ to the next oldest granularity, then replays messages from that point.
219
+ In other words, AMPS returns the same results as a historical SOW query,
220
+ then replays the full sequence of messages from that point forward.</p>
221
+ <p>The transaction log and the SOW topic are maintained separately, and have
222
+ separate views of history. When a version of the message is removed from
223
+ the SOW topic (because it is older than the specified <code class="docutils literal"><span class="pre">Window</span></code>), the
224
+ message remains in the transaction log, but will not be returned by a SOW
225
+ query.</p>
226
+ </div>
227
+ <div class="section" id="message-sequence-flow">
228
+ <h3>Message Sequence Flow<a class="headerlink" href="#message-sequence-flow" title="Permalink to this headline">¶</a></h3>
229
+ <p>The message sequence flow is the same as a simple SOW query flow. Once
230
+ AMPS has transmitted the messages that were in the SOW as of the
231
+ timestamp of the query, the query ends. Notice that the query will
232
+ include messages that have been subsequently deleted from the SOW, but which
233
+ were the current state of the message as of that timestamp.</p>
234
+ </div>
235
+ <div class="section" id="pagination-with-historical-sow-queries">
236
+ <h3>Pagination with Historical SOW Queries<a class="headerlink" href="#pagination-with-historical-sow-queries" title="Permalink to this headline">¶</a></h3>
237
+ <p>Topics that maintain <code class="docutils literal"><span class="pre">History</span></code> in the SOW support paginated queries from a
238
+ point in time. When the topic is also covered by the transaction log, the
239
+ <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command also supports paginated subscriptions from
240
+ a point in time. See <a class="reference internal" href="#sow-query-pagination"><span class="std std-ref">Paginated SOW and Subscribe</span></a> for details.</p>
241
+ </div>
242
+ </div>
243
+ <div class="section" id="sow-query-and-subscribe">
244
+ <span id="id3"></span><h2>SOW Query and Subscribe<a class="headerlink" href="#sow-query-and-subscribe" title="Permalink to this headline">¶</a></h2>
245
+ <p>AMPS has a special command that will execute a query and place a
246
+ subscription at the same time to prevent a gap between the query and
247
+ subscription where messages can be lost. Without a command like this, it
248
+ is difficult to reproduce the SOW state locally on a client without
249
+ creating complex code to reconcile incoming messages and state.</p>
250
+ <p>For example, this command is useful for recreating part of the SOW in
251
+ a local cache and keeping it up to date. Without a special command to
252
+ place the query and subscription at the same moment, a client is left
253
+ with two options:</p>
254
+ <ol class="arabic simple">
255
+ <li>Issue the query request, process the query results, and then place
256
+ the subscription, which misses any records published between the time
257
+ when the query and subscription were placed; or</li>
258
+ <li>Place the subscription and then issue the query request, which could
259
+ send messages placed between the subscription and query twice.</li>
260
+ </ol>
261
+ <p>Instead of requiring every program to work around these options, the
262
+ AMPS <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command allows clients to place a query and
263
+ get the streaming updates to matching messages in a single command.</p>
264
+ <p>In a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command, AMPS behaves as if the SOW command
265
+ and subscription are placed at the exact same moment. The SOW query will
266
+ be sent before any messages from the subscription are sent to the
267
+ client. Additionally, any new publishes that come into AMPS that match
268
+ the <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> filtering criteria and come in after the query
269
+ started will be sent after the query finishes (and the query will not
270
+ include those messages.) As with a simple SOW query, any other messages
271
+ that arrive for the client while the SOW query is running will also be
272
+ delivered after the query results.</p>
273
+ <p>AMPS allows a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command on topics that do not have a
274
+ SOW enabled. In this case, AMPS simply returns no messages between
275
+ <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code>.</p>
276
+ <p>The sequence diagram below illustrates the message flow for <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code>
277
+ commands:</p>
278
+ <div class="figure" id="fig-sow-queries-subscribe-sequence">
279
+ <a class="reference internal image-reference" href="../_images/SOWQuery2.svg"><img alt="SOW-And-Subscribe Query Sequence Diagram" src="../_images/SOWQuery2.svg" width="75.0%" /></a>
280
+ </div>
281
+ <p><em>SOW-And-Subscribe Query Sequence Diagram</em></p>
282
+ <div class="section" id="historical-sow-query-and-subscribe">
283
+ <h3>Historical SOW Query and Subscribe<a class="headerlink" href="#historical-sow-query-and-subscribe" title="Permalink to this headline">¶</a></h3>
284
+ <p>For topics that have <code class="docutils literal"><span class="pre">History</span></code> configured,
285
+ AMPS SOW Query and Subscribe also allows you to begin the subscription
286
+ with a historical SOW query. For historical SOW queries, the
287
+ subscription begins at the point of the query with the results of the
288
+ SOW query. The subscription then replays messages from the transaction
289
+ log. Once messages from the transaction log have been replayed, the
290
+ subscription then provides messages as AMPS publishes them.</p>
291
+ <p>In effect, a SOW Query and Subscribe with a historical query allows you
292
+ to recreate the client state and processing as though the client had
293
+ issued a SOW Query and Subscribe at the point in time of the historical
294
+ query.</p>
295
+ <p>A historical SOW and Subscribe requires that the SOW topic is recorded
296
+ in the transaction log and that history is enabled on the SOW. If
297
+ history is not enabled for the topic, a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command
298
+ returns the current state of the SOW and the subscription begins
299
+ atomically at the point in time when AMPS processes the command.</p>
300
+ </div>
301
+ <div class="section" id="conflated-subscriptions-with-sow-and-subscribe">
302
+ <h3>Conflated Subscriptions with SOW and Subscribe<a class="headerlink" href="#conflated-subscriptions-with-sow-and-subscribe" title="Permalink to this headline">¶</a></h3>
303
+ <p>A <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command can include the conflation interval and conflation key
304
+ options for server side conflation (as described in <a class="reference internal" href="pub_sub.html#ug-pub-sub-conflation"><span class="std std-ref">Conflated Subscriptions</span></a>),
305
+ just as a regular subscription can. When the command requests conflation, the
306
+ results of the SOW query are not conflated. Conflation only applies to the subscription.</p>
307
+ </div>
308
+ <div class="section" id="replacing-subscriptions-with-sow-and-subscribe">
309
+ <span id="ug-sow-and-subscribe-replace"></span><h3>Replacing Subscriptions with SOW and Subscribe<a class="headerlink" href="#replacing-subscriptions-with-sow-and-subscribe" title="Permalink to this headline">¶</a></h3>
310
+ <p>As described in <a class="reference internal" href="pub_sub.html#ug-pub-sub-replace"><span class="std std-ref">Replacing Subscriptions</span></a>,
311
+ AMPS allows you to replace an existing subscription. When the subscription is entered with
312
+ the <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command, AMPS will re-run the SOW query
313
+ delivering the messages that are in scope with the new filter but which
314
+ were not previously delivered. If the subscription requests out-of-focus
315
+ (OOF) messages, AMPS will deliver out of focus messages for messages
316
+ that matched the previous filter but do not match the new filter. As
317
+ with the initial Query and Subscribe, AMPS guarantees to deliver any
318
+ changes to the SOW that match the filter and occur after the point of
319
+ the query.</p>
320
+ <div class="figure">
321
+ <a class="reference internal image-reference" href="../_images/SOWAndSubscribeAndReplace.svg"><img alt="SOW And Subscribe Replace Sequence Diagram" src="../_images/SOWAndSubscribeAndReplace.svg" width="75.0%" /></a>
322
+ </div>
323
+ <p><em>SOW And Subscribe Replace Sequence Diagram</em></p>
324
+ </div>
325
+ </div>
326
+ <div class="section" id="sow-query-response-batching">
327
+ <span id="sow-queries-batching"></span><h2>SOW Query Response Batching<a class="headerlink" href="#sow-query-response-batching" title="Permalink to this headline">¶</a></h2>
328
+ <p>When processing a SOW query, AMPS has the ability to combine messages
329
+ into batches for more efficient network usage. The maximum number of
330
+ messages in a batch is determined by the <code class="docutils literal"><span class="pre">BatchSize</span></code> parameter on the
331
+ SOW query command. AMPS defaults to a <code class="docutils literal"><span class="pre">BatchSize</span></code> value of 1, meaning
332
+ AMPS sends one message per batch in the response. The <code class="docutils literal"><span class="pre">BatchSize</span></code> is
333
+ the maximum number of records that will be returned within a single
334
+ response payload. Each AMPS response for the query contains a
335
+ <code class="docutils literal"><span class="pre">BatchSize</span></code> value in its header to indicate the number of messages in
336
+ the batch. This number will be anywhere from 1 to <code class="docutils literal"><span class="pre">BatchSize</span></code>.</p>
337
+ <p>Current versions of the AMPS client libraries set a batch size of 10
338
+ when using the named convenience methods (for example,
339
+ <code class="docutils literal"><span class="pre">sowAndSubscribe</span></code>) if no other batch size is specified.</p>
340
+ <p>Notice that the format of messages returned from AMPS may be different
341
+ depending on the message type requested. However, the information
342
+ contained in the messages is the same for all message types.</p>
343
+ <div class="admonition tip">
344
+ <p class="first admonition-title">Tip</p>
345
+ <p class="last">When issuing a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command AMPS will return a
346
+ <code class="docutils literal"><span class="pre">group_begin</span></code> and <code class="docutils literal"><span class="pre">group_end</span></code> segment of messages before
347
+ beginning the live subscription sequence of the query. This is
348
+ also true when a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command is issued against
349
+ a non-SOW topic. When the topic is not in the State of the World,
350
+ no messages will be delivered between the <code class="docutils literal"><span class="pre">group_begin</span></code> and
351
+ <code class="docutils literal"><span class="pre">group_end</span></code> messages.</p>
352
+ </div>
353
+ <p>Using a <code class="docutils literal"><span class="pre">BatchSize</span></code> greater than 1 can yield greater performance,
354
+ particularly when querying a large number of small records. In general,
355
+ 60East recommends using a <code class="docutils literal"><span class="pre">BatchSize</span></code> that provides good network
356
+ utilization without consuming excessive server memory. Most applications
357
+ that use small messages set a batch size designed to create batches that
358
+ fit well into the maximum transmission unit (MTU) for the network.
359
+ AMPS reports an error if an application requests a batch size larger
360
+ than 10,000 records (this value is orders of magnitude larger than the
361
+ typical <code class="docutils literal"><span class="pre">BatchSize</span></code> used by applications).</p>
362
+ <p>For applications that return a large number of messages that are
363
+ larger than the MTU, 60East recommends testing performance with
364
+ a variety of batch sizes. Because the client libraries parse the
365
+ AMPS headers common to each message once per batch, a batch size
366
+ larger than <cite>1</cite> can improve processing performance on the client
367
+ side, particularly if the client message handling is efficient.
368
+ Likewise, because the AMPS server only has to serialize the common
369
+ headers once per batch, a batch size larger than <cite>1</cite> can improve
370
+ performance at the server side (as well as reduce the overall
371
+ bandwidth for a group of messages). At the same time, the server
372
+ will hold a batch of messages until the batch can be transmitted
373
+ together (or until the query is complete), so providing large values
374
+ for the batch size can introduce latency in receiving results, and
375
+ reduce performance if the total size of the batch is very large.</p>
376
+ <p>In general, the default client value is a good compromise for
377
+ many application patterns if the messages are larger than will fit
378
+ into the MTU of the network. For smaller messages, or if it is
379
+ important to tune performance, 60East recommends testing with
380
+ a variety of batch sizes.</p>
381
+ <div class="admonition tip">
382
+ <p class="first admonition-title">Tip</p>
383
+ <p class="last">Using an appropriate <code class="docutils literal"><span class="pre">BatchSize</span></code> parameter is critical to
384
+ achieve the maximum query performance with a large number of
385
+ messages when many messages will fit into the MTU for your
386
+ network. For larger messages, tune the batch size based on
387
+ performance testing with a variety of batch sizes.</p>
388
+ </div>
389
+ <div class="admonition caution">
390
+ <p class="first admonition-title">Caution</p>
391
+ <p>AMPS treats queries as a single, atomic operation. All results
392
+ from a query are sent to a client before the results of any
393
+ subsequent commands. Use care when issuing queries that
394
+ return a result set large enough to take several seconds or
395
+ more to transmit over the network.</p>
396
+ <p class="last">When planning for large queries, please see the information
397
+ on how AMPS handles a situation where messages are produced
398
+ faster than the client or network can consume them. This
399
+ is discussed in the section called
400
+ <a class="reference internal" href="operation.html#operations-and-deployment-best-practices-slow-clients"><span class="std std-ref">Slow Clients</span></a>
401
+ for more information.</p>
402
+ </div>
403
+ <p>For more information on executing queries, please see the Developer
404
+ Guide for the AMPS client of your choice, available from the 60East
405
+ documentation site at <a class="reference external" href="http://docs.crankuptheamps.com/">http://docs.crankuptheamps.com/</a>.</p>
406
+ </div>
407
+ <div class="section" id="configuring-sow-query-result-sets">
408
+ <span id="sow-query-results-sets"></span><h2>Configuring SOW Query Result Sets<a class="headerlink" href="#configuring-sow-query-result-sets" title="Permalink to this headline">¶</a></h2>
409
+ <p>AMPS allows you to control the results returned by a SOW query by
410
+ including the following options and header on the query:</p>
411
+ <table border="1" class="docutils" id="id4">
412
+ <caption><span class="caption-text"><em>SOW Query Options</em></span><a class="headerlink" href="#id4" title="Permalink to this table">¶</a></caption>
413
+ <colgroup>
414
+ <col width="50%" />
415
+ <col width="50%" />
416
+ </colgroup>
417
+ <thead valign="bottom">
418
+ <tr class="row-odd"><th class="head">Option /
419
+ Header</th>
420
+ <th class="head">Result</th>
421
+ </tr>
422
+ </thead>
423
+ <tbody valign="top">
424
+ <tr class="row-even"><td>top_n
425
+ (option)</td>
426
+ <td><p class="first">Limits the results returned to the number of messages specified.</p>
427
+ <p class="last">When a <code class="docutils literal"><span class="pre">skip_n</span></code> option is also provided for a subscription,
428
+ AMPS creates a paginated subscription. Otherwise, this option
429
+ applies only to the SOW query part of a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code>
430
+ or <code class="docutils literal"><span class="pre">sow_and_delta_subscribe</span></code> command.</p>
431
+ </td>
432
+ </tr>
433
+ <tr class="row-odd"><td>skip_n
434
+ (option)</td>
435
+ <td>Skips the number of messages specified before returning results.
436
+ A command that provides this option must also provide a <code class="docutils literal"><span class="pre">top_n</span></code>
437
+ option.</td>
438
+ </tr>
439
+ <tr class="row-even"><td>OrderBy
440
+ (header)</td>
441
+ <td><p class="first">Orders the results returned as specified. Requires a
442
+ comma-separated list of identifiers of the form</p>
443
+ <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">field</span> <span class="p">[</span><span class="n">ASC</span> <span class="o">|</span> <span class="n">DESC</span><span class="p">]</span> <span class="p">[</span> <span class="n">TEXT</span> <span class="p">]</span>
444
+ </pre></div>
445
+ </div>
446
+ <p>The <code class="docutils literal"><span class="pre">ASC</span></code> directive specifies that AMPS sort the results in
447
+ ascending order (the default). <code class="docutils literal"><span class="pre">DESC</span></code> specifies that AMPS
448
+ sort the results in descending order.</p>
449
+ <p>The <code class="docutils literal"><span class="pre">TEXT</span></code> hint specifies that AMPS will sort the
450
+ column according to the textual representation of the column.
451
+ This can be helpful in cases where the column represents a
452
+ string value, but where some values could be interpreted as
453
+ numeric values.</p>
454
+ <p>For example, to sort in descending order by <code class="docutils literal"><span class="pre">orderDate</span></code> so that
455
+ the most recent orders are first, and ascending order by
456
+ <code class="docutils literal"><span class="pre">customerName</span></code> for orders with the same date, you might use a
457
+ specifier such as:</p>
458
+ <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">orderDate</span> <span class="n">DESC</span><span class="p">,</span> <span class="o">/</span><span class="n">customerName</span> <span class="n">ASC</span>
459
+ </pre></div>
460
+ </div>
461
+ <p>As another example, the following specifier will sort the
462
+ <code class="docutils literal"><span class="pre">orderId</span></code> field as a string, with the <code class="docutils literal"><span class="pre">updateTimestamp</span></code>
463
+ sorted in descending order for orders with the same <code class="docutils literal"><span class="pre">orderId</span></code>.</p>
464
+ <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">orderId</span> <span class="n">TEXT</span><span class="p">,</span> <span class="o">/</span><span class="n">updateTimestamp</span> <span class="n">DESC</span>
465
+ </pre></div>
466
+ </div>
467
+ <p class="last">If no sort order is specified for an identifier, AMPS defaults to
468
+ ascending order. If no type hint is specified for an identifier,
469
+ AMPS defaults to using a mixed-type sort.</p>
470
+ </td>
471
+ </tr>
472
+ </tbody>
473
+ </table>
474
+ <p>For details on how to submit these options with a SOW query, see the
475
+ documentation for the AMPS client library your application uses.</p>
476
+ <p>When replacing a subscription that uses <code class="docutils literal"><span class="pre">top_n</span></code>, <code class="docutils literal"><span class="pre">skip_n</span></code>, or
477
+ <code class="docutils literal"><span class="pre">OrderBy</span></code>, any of these options specified on the original command
478
+ must be provided on the replacement command. In other words,
479
+ <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code> command that specifies <code class="docutils literal"><span class="pre">top_n=10,skip_n=20</span></code>
480
+ must provide both <code class="docutils literal"><span class="pre">top_n</span></code> and <code class="docutils literal"><span class="pre">skip_n</span></code> on a replacement command.</p>
481
+ </div>
482
+ <div class="section" id="paginated-sow-and-subscribe">
483
+ <span id="sow-query-pagination"></span><h2>Paginated SOW and Subscribe<a class="headerlink" href="#paginated-sow-and-subscribe" title="Permalink to this headline">¶</a></h2>
484
+ <p>When <code class="docutils literal"><span class="pre">top_n</span></code> and <code class="docutils literal"><span class="pre">skip_n</span></code> are specified on a <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code>
485
+ command, AMPS creates a <em>paginated subscription</em>. (Both <code class="docutils literal"><span class="pre">top_n</span></code> and
486
+ <code class="docutils literal"><span class="pre">skip_n</span></code> must be provided to create a paginated subscription.)</p>
487
+ <p id="index-1">With a paginated subscription, AMPS maintains a list of the set
488
+ of results for the SOW query, and delivers only results that
489
+ fall between the first record after the <cite>skip_n</cite> number and
490
+ within the number of records specified by the <cite>top_n</cite> number. This
491
+ allows applications that only need a subset of the results
492
+ returned by a filter to work with only those results. This is
493
+ commonly used for interactive applications, where
494
+ a user interface shows a small number of records at a time in the
495
+ interface.</p>
496
+ <p>When the subscription specifies an <code class="docutils literal"><span class="pre">OrderBy</span></code>, that header specifies the
497
+ order in which records are sorted within the paginated subscription.
498
+ If no <code class="docutils literal"><span class="pre">OrderBy</span></code> is specified, the results are sorted by the <code class="docutils literal"><span class="pre">SowKey</span></code>
499
+ generated by AMPS (effectively, an arbitrary but stable order).</p>
500
+ <p>From a subscriber point of view, paginated subscriptions behave as
501
+ though only the messages in the pagination window are present in
502
+ AMPS. For example, when out-of-focus notifications are enabled
503
+ and a message in the topic is deleted, subscribers receive an
504
+ <code class="docutils literal"><span class="pre">oof</span></code> notification <em>only</em> if the deleted message was in the
505
+ pagination window. Likewise, if a message that was previously in
506
+ the pagination window falls outside of the window due to an insert
507
+ or delete, the message that is now outside of the window will be
508
+ out of focus, and will generate an <code class="docutils literal"><span class="pre">oof</span></code> notification.</p>
509
+ <p>For example, consider the following topic in the SOW, where
510
+ the topic uses the <code class="docutils literal"><span class="pre">/id</span></code> field as a key.</p>
511
+ <div class="figure">
512
+ <img alt="../_images/paginated_subs_sub.png" src="../_images/paginated_subs_sub.png" />
513
+ </div>
514
+ <p>With a <code class="docutils literal"><span class="pre">top_n</span></code> of <code class="docutils literal"><span class="pre">2</span></code>, a <code class="docutils literal"><span class="pre">skip_n</span></code> of <code class="docutils literal"><span class="pre">1</span></code>, and an
515
+ <code class="docutils literal"><span class="pre">OrderBy</span></code> of <code class="docutils literal"><span class="pre">/id</span></code>, the results for the subscription will include
516
+ the records with <code class="docutils literal"><span class="pre">id</span></code> of <code class="docutils literal"><span class="pre">2</span></code> and <code class="docutils literal"><span class="pre">id</span></code> of <code class="docutils literal"><span class="pre">5</span></code>.</p>
517
+ <p>Now a new message is published with an <code class="docutils literal"><span class="pre">id</span></code> of <code class="docutils literal"><span class="pre">4</span></code>, as shown
518
+ below:</p>
519
+ <div class="figure">
520
+ <img alt="../_images/paginated_subs_pub.png" src="../_images/paginated_subs_pub.png" />
521
+ </div>
522
+ <p>Since the new message falls within the pagination window, the
523
+ message is published to the subscriber. Given that the message with
524
+ the <code class="docutils literal"><span class="pre">id</span></code> of <code class="docutils literal"><span class="pre">5</span></code> is no longer within the pagination window,
525
+ the subscriber will receive an <code class="docutils literal"><span class="pre">oof</span></code> message for the message
526
+ with an <code class="docutils literal"><span class="pre">id</span></code> of <code class="docutils literal"><span class="pre">5</span></code> if the subscriber has requested
527
+ out-of-focus notifications.</p>
528
+ <p>While a paginated subscription is active, AMPS maintains a list of
529
+ the messages that match the subscription in memory (but does not,
530
+ as of version 5.3.2, maintain the entire sorted result set in memory).
531
+ For efficiency, when more than one subscription uses the same topic,
532
+ these subscriptions will use the same result set in memory. The memory
533
+ used counts as part of the configured <code class="docutils literal"><span class="pre">MessageMemoryLimit</span></code>. Each
534
+ connection that uses the result set is counted as consuming a
535
+ portion of the memory retained. For example, if 5 connections use
536
+ the same result set, each of those connections is counted as using 1/5 of the
537
+ memory for the result set.</p>
538
+ <p>In addition, each paginated subscription requires that AMPS maintain
539
+ state for the window for that subscription: this memory is not shared,
540
+ and is counted for that client.</p>
541
+ </div>
542
+ <div class="section" id="aggregated-sow-queries">
543
+ <span id="sow-query-aggregation"></span><h2>Aggregated SOW Queries<a class="headerlink" href="#aggregated-sow-queries" title="Permalink to this headline">¶</a></h2>
544
+ <p>AMPS provides the ability to aggregate the results of a SOW query. The results of an aggregated
545
+ SOW query are the same as the results of querying a <code class="docutils literal"><span class="pre">View</span></code> with the same definition.</p>
546
+ <p>To request an aggregated SOW query, provide the <code class="docutils literal"><span class="pre">grouping</span></code> and <code class="docutils literal"><span class="pre">projection</span></code> options
547
+ with the <code class="docutils literal"><span class="pre">sow</span></code> query.</p>
548
+ <table border="1" class="docutils" id="id5">
549
+ <caption><span class="caption-text"><em>Aggregated SOW Query Options</em></span><a class="headerlink" href="#id5" title="Permalink to this table">¶</a></caption>
550
+ <colgroup>
551
+ <col width="50%" />
552
+ <col width="50%" />
553
+ </colgroup>
554
+ <thead valign="bottom">
555
+ <tr class="row-odd"><th class="head">Option</th>
556
+ <th class="head">Description</th>
557
+ </tr>
558
+ </thead>
559
+ <tbody valign="top">
560
+ <tr class="row-even"><td><code class="docutils literal"><span class="pre">grouping=[keys]</span></code></td>
561
+ <td><p class="first">For use with aggregated SOW queries.</p>
562
+ <p>The format of this option is a comma-delimited
563
+ list of XPath identifiers within brackets. For
564
+ example, to aggregate entries based on their
565
+ <code class="docutils literal"><span class="pre">/description</span></code> (producing one record in the
566
+ aggregation for each distinct value in
567
+ <code class="docutils literal"><span class="pre">/description</span></code>), you would use the following
568
+ option:</p>
569
+ <div class="code highlight-default"><div class="highlight"><pre><span></span><span class="n">grouping</span><span class="o">=</span><span class="p">[</span><span class="o">/</span><span class="n">description</span><span class="p">]</span>
570
+ </pre></div>
571
+ </div>
572
+ <p>When this option is provided, a <code class="docutils literal"><span class="pre">projection</span></code>
573
+ must also be provided.</p>
574
+ <p class="last">When the topic has <code class="docutils literal"><span class="pre">History</span></code> enabled, this
575
+ option can be used with a bookmark to aggregate
576
+ the historical state of the SOW.</p>
577
+ </td>
578
+ </tr>
579
+ <tr class="row-odd"><td><code class="docutils literal"><span class="pre">projection=[fields]</span></code></td>
580
+ <td><p class="first">For use with aggregated SOW queries.</p>
581
+ <p>Specifies a comma-delimited set of fields to
582
+ project, within brackets. Each entry has the
583
+ format described in the AMPS User Guide.</p>
584
+ <p>This option must contain an entry for every
585
+ field in the aggregated message. If there is no
586
+ entry for a field in this option, that field
587
+ will not appear in the aggregated message, even
588
+ if the field is in the underlying message.</p>
589
+ <p>There is no default for this option. When this
590
+ option is provided, a <code class="docutils literal"><span class="pre">grouping</span></code> must also be
591
+ provided.</p>
592
+ <p class="last">When the topic has <code class="docutils literal"><span class="pre">History</span></code> enabled, this
593
+ option can be used with a bookmark to aggregate
594
+ the historical state of the SOW.</p>
595
+ </td>
596
+ </tr>
597
+ </tbody>
598
+ </table>
599
+ </div>
600
+ </div>
601
+
602
+
603
+ </div>
604
+ </div>
605
+ </div>
606
+ <div class="clearer"></div>
607
+ </div>
608
+ <div class="footer">
609
+ &copy;2023 60East Technologies, Inc. (version develop).
610
+
611
+ |
612
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.3</a>
613
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
614
+
615
+ </div>
616
+
617
+
618
+
619
+
620
+ </body>
621
+ </html>