amps-python-client 5.3.4.1__zip → 5.3.4.3__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (918) hide show
  1. amps-python-client-5.3.4.3/LICENSE +168 -0
  2. amps-python-client-5.3.4.3/PKG-INFO +112 -0
  3. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  4. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  5. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  6. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  7. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  8. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  9. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  10. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  11. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  12. amps-python-client-5.3.4.3/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  13. amps-python-client-5.3.4.3/docs/command-reference/doctrees/environment.pickle +0 -0
  14. amps-python-client-5.3.4.3/docs/command-reference/doctrees/index.doctree +0 -0
  15. amps-python-client-5.3.4.3/docs/command-reference/html/.buildinfo +4 -0
  16. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +8 -0
  17. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +8 -0
  18. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/intro.rst.txt +8 -0
  19. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/logon.rst.txt +8 -0
  20. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +8 -0
  21. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/publishing.rst.txt +8 -0
  22. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +8 -0
  23. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +8 -0
  24. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/removing.rst.txt +8 -0
  25. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/chapters/utilities.rst.txt +8 -0
  26. amps-python-client-5.3.4.3/docs/command-reference/html/_sources/index.rst.txt +36 -0
  27. amps-python-client-5.3.4.3/docs/command-reference/html/_static/custom.css +161 -0
  28. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/ack-messages.html +95 -0
  29. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/content-messages.html +95 -0
  30. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/intro.html +95 -0
  31. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/logon.html +95 -0
  32. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/protocol-reference.html +93 -0
  33. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/publishing.html +95 -0
  34. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/query-delimiters.html +95 -0
  35. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/query-subscribe.html +95 -0
  36. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/removing.html +95 -0
  37. amps-python-client-5.3.4.3/docs/command-reference/html/chapters/utilities.html +95 -0
  38. amps-python-client-5.3.4.3/docs/command-reference/html/genindex.html +97 -0
  39. amps-python-client-5.3.4.3/docs/command-reference/html/index.html +98 -0
  40. amps-python-client-5.3.4.3/docs/command-reference/html/objects.inv +6 -0
  41. amps-python-client-5.3.4.3/docs/command-reference/html/search.html +107 -0
  42. amps-python-client-5.3.4.3/docs/command-reference/html/searchindex.js +1 -0
  43. amps-python-client-5.3.4.3/docs/html/.buildinfo +4 -0
  44. amps-python-client-5.3.4.3/docs/html/code.html +6851 -0
  45. amps-python-client-5.3.4.3/docs/html/genindex.html +1363 -0
  46. amps-python-client-5.3.4.3/docs/html/index.html +131 -0
  47. amps-python-client-5.3.4.3/docs/html/objects.inv +0 -0
  48. amps-python-client-5.3.4.3/docs/html/py-modindex.html +111 -0
  49. amps-python-client-5.3.4.3/docs/html/search.html +107 -0
  50. amps-python-client-5.3.4.3/docs/html/searchindex.js +1 -0
  51. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  52. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  53. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  54. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  55. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/deltas.doctree +0 -0
  56. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  57. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  58. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/first-program.doctree +0 -0
  59. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  60. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/installing.doctree +0 -0
  61. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/introduction.doctree +0 -0
  62. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  63. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  64. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/queues.doctree +0 -0
  65. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/sow.doctree +0 -0
  66. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  67. amps-python-client-5.3.4.3/docs/python/doctrees/chapters/utilities.doctree +0 -0
  68. amps-python-client-5.3.4.3/docs/python/doctrees/environment.pickle +0 -0
  69. amps-python-client-5.3.4.3/docs/python/doctrees/index.doctree +0 -0
  70. amps-python-client-5.3.4.3/docs/python/html/.buildinfo +4 -0
  71. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/advanced-topics.rst.txt +398 -0
  72. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +26 -0
  73. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/creating-commands.rst.txt +159 -0
  74. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/deltas.rst.txt +79 -0
  75. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/error-handling.rst.txt +481 -0
  76. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/exceptions.rst.txt +123 -0
  77. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/first-program.rst.txt +168 -0
  78. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/high-availability.rst.txt +879 -0
  79. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/installing.rst.txt +184 -0
  80. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/introduction.rst.txt +50 -0
  81. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +32 -0
  82. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/performance-tips.rst.txt +432 -0
  83. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/queues.rst.txt +282 -0
  84. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/sow.rst.txt +294 -0
  85. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/subscriptions.rst.txt +374 -0
  86. amps-python-client-5.3.4.3/docs/python/html/_sources/chapters/utilities.rst.txt +214 -0
  87. amps-python-client-5.3.4.3/docs/python/html/_static/custom.css +161 -0
  88. amps-python-client-5.3.4.3/docs/python/html/chapters/advanced-topics.html +447 -0
  89. amps-python-client-5.3.4.3/docs/python/html/chapters/cpp-compiler-list.html +92 -0
  90. amps-python-client-5.3.4.3/docs/python/html/chapters/cpp-feature-table.html +156 -0
  91. amps-python-client-5.3.4.3/docs/python/html/chapters/creating-commands.html +2882 -0
  92. amps-python-client-5.3.4.3/docs/python/html/chapters/deltas.html +169 -0
  93. amps-python-client-5.3.4.3/docs/python/html/chapters/error-handling.html +745 -0
  94. amps-python-client-5.3.4.3/docs/python/html/chapters/exceptions.html +266 -0
  95. amps-python-client-5.3.4.3/docs/python/html/chapters/first-program.html +526 -0
  96. amps-python-client-5.3.4.3/docs/python/html/chapters/high-availability.html +1017 -0
  97. amps-python-client-5.3.4.3/docs/python/html/chapters/installing.html +264 -0
  98. amps-python-client-5.3.4.3/docs/python/html/chapters/introduction.html +245 -0
  99. amps-python-client-5.3.4.3/docs/python/html/chapters/moving-from-python-lite.html +118 -0
  100. amps-python-client-5.3.4.3/docs/python/html/chapters/performance-tips.html +499 -0
  101. amps-python-client-5.3.4.3/docs/python/html/chapters/queues.html +352 -0
  102. amps-python-client-5.3.4.3/docs/python/html/chapters/sow.html +383 -0
  103. amps-python-client-5.3.4.3/docs/python/html/chapters/subscriptions.html +535 -0
  104. amps-python-client-5.3.4.3/docs/python/html/chapters/utilities.html +302 -0
  105. amps-python-client-5.3.4.3/docs/python/html/genindex.html +351 -0
  106. amps-python-client-5.3.4.3/docs/python/html/index.html +382 -0
  107. amps-python-client-5.3.4.3/docs/python/html/objects.inv +0 -0
  108. amps-python-client-5.3.4.3/docs/python/html/search.html +107 -0
  109. amps-python-client-5.3.4.3/docs/python/html/searchindex.js +1 -0
  110. amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  111. amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  112. amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/environment.pickle +0 -0
  113. amps-python-client-5.3.4.3/docs/python-quickstart/doctrees/index.doctree +0 -0
  114. amps-python-client-5.3.4.3/docs/python-quickstart/html/.buildinfo +4 -0
  115. amps-python-client-5.3.4.3/docs/python-quickstart/html/_static/custom.css +161 -0
  116. amps-python-client-5.3.4.3/docs/python-quickstart/html/chapters/crankitup.html +271 -0
  117. amps-python-client-5.3.4.3/docs/python-quickstart/html/chapters/equipment.html +105 -0
  118. amps-python-client-5.3.4.3/docs/python-quickstart/html/genindex.html +97 -0
  119. amps-python-client-5.3.4.3/docs/python-quickstart/html/index.html +381 -0
  120. amps-python-client-5.3.4.3/docs/python-quickstart/html/objects.inv +0 -0
  121. amps-python-client-5.3.4.3/docs/python-quickstart/html/search.html +107 -0
  122. amps-python-client-5.3.4.3/docs/python-quickstart/html/searchindex.js +1 -0
  123. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  124. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  125. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  126. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  127. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  128. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  129. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  130. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  131. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  132. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  133. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  134. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  135. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  136. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  137. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  138. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  139. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  140. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  141. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  142. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  143. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  144. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  145. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  146. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  147. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  148. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  149. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  150. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  151. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  152. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  153. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  154. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  155. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  156. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  157. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  158. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  159. amps-python-client-5.3.4.3/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  160. amps-python-client-5.3.4.3/docs/user-guide/doctrees/environment.pickle +0 -0
  161. amps-python-client-5.3.4.3/docs/user-guide/doctrees/index.doctree +0 -0
  162. amps-python-client-5.3.4.3/docs/user-guide/html/.buildinfo +4 -0
  163. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/acks.rst.txt +8 -0
  164. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/actions.rst.txt +8 -0
  165. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +8 -0
  166. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +8 -0
  167. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +8 -0
  168. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +8 -0
  169. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +8 -0
  170. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +8 -0
  171. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +8 -0
  172. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/daemon.rst.txt +8 -0
  173. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/delta.rst.txt +8 -0
  174. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/distribution.rst.txt +8 -0
  175. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +8 -0
  176. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/events.rst.txt +8 -0
  177. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +8 -0
  178. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/glossary.rst.txt +8 -0
  179. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/ha.rst.txt +8 -0
  180. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +8 -0
  181. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/intro.rst.txt +8 -0
  182. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/logging.rst.txt +8 -0
  183. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +8 -0
  184. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +8 -0
  185. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/oof.rst.txt +8 -0
  186. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/operation.rst.txt +8 -0
  187. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +8 -0
  188. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/queues.rst.txt +8 -0
  189. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/replication.rst.txt +8 -0
  190. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/securing.rst.txt +8 -0
  191. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/sow.rst.txt +8 -0
  192. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +8 -0
  193. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/transports.rst.txt +8 -0
  194. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +8 -0
  195. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/txlog.rst.txt +8 -0
  196. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/usecases.rst.txt +8 -0
  197. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/utilities.rst.txt +8 -0
  198. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/chapters/views.rst.txt +8 -0
  199. amps-python-client-5.3.4.3/docs/user-guide/html/_sources/index.rst.txt +62 -0
  200. amps-python-client-5.3.4.3/docs/user-guide/html/_static/custom.css +161 -0
  201. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/acks.html +94 -0
  202. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/actions.html +94 -0
  203. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps-statistics.html +94 -0
  204. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps_expressions.html +94 -0
  205. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/amps_functions.html +94 -0
  206. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/auxiliary_modules.html +94 -0
  207. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/config-file-shortcuts.html +94 -0
  208. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/conflated_topics.html +94 -0
  209. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/constructing-fields.html +94 -0
  210. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/daemon.html +94 -0
  211. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/delta.html +94 -0
  212. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/distribution.html +94 -0
  213. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/enrichment.html +94 -0
  214. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/events.html +94 -0
  215. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/file_format_versions.html +94 -0
  216. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/glossary.html +92 -0
  217. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/ha.html +94 -0
  218. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/installing_and_starting.html +94 -0
  219. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/intro.html +94 -0
  220. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/logging.html +94 -0
  221. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/messageTypes.html +94 -0
  222. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/monitoring.html +94 -0
  223. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/oof.html +94 -0
  224. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/operation.html +94 -0
  225. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/pub_sub.html +94 -0
  226. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/queues.html +94 -0
  227. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/replication.html +94 -0
  228. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/securing.html +94 -0
  229. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/sow.html +94 -0
  230. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/sow_queries.html +94 -0
  231. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/spark.html +819 -0
  232. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/transports.html +94 -0
  233. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/troubleshooting.html +94 -0
  234. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/txlog.html +94 -0
  235. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/usecases.html +94 -0
  236. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/utilities.html +94 -0
  237. amps-python-client-5.3.4.3/docs/user-guide/html/chapters/views.html +94 -0
  238. amps-python-client-5.3.4.3/docs/user-guide/html/genindex.html +133 -0
  239. amps-python-client-5.3.4.3/docs/user-guide/html/index.html +96 -0
  240. amps-python-client-5.3.4.3/docs/user-guide/html/objects.inv +0 -0
  241. amps-python-client-5.3.4.3/docs/user-guide/html/search.html +106 -0
  242. amps-python-client-5.3.4.3/docs/user-guide/html/searchindex.js +1 -0
  243. amps-python-client-5.3.4.3/include/ampspy_bookmarkstore.hpp +63 -0
  244. amps-python-client-5.3.4.3/include/ampspy_compat.h +63 -0
  245. amps-python-client-5.3.4.3/include/ampspy_defs.hpp +181 -0
  246. amps-python-client-5.3.4.3/include/ampspy_recoverypointadapter.hpp +52 -0
  247. amps-python-client-5.3.4.3/include/ampspy_shims.hpp +113 -0
  248. amps-python-client-5.3.4.3/include/ampspy_type_object.hpp +242 -0
  249. amps-python-client-5.3.4.3/include/ampspy_types.hpp +1139 -0
  250. amps-python-client-5.3.4.3/include/ampspyver.h +30 -0
  251. amps-python-client-5.3.4.3/index.html +66 -0
  252. amps-python-client-5.3.4.3/samples/AMPSConsolePublisher.py +59 -0
  253. amps-python-client-5.3.4.3/samples/AMPSConsoleSubscriber.py +63 -0
  254. amps-python-client-5.3.4.3/samples/AMPSFIXBuilderPublisher.py +71 -0
  255. amps-python-client-5.3.4.3/samples/AMPSFIXShredderSubscriber.py +69 -0
  256. amps-python-client-5.3.4.3/samples/AMPSNVFIXBuilderPublisher.py +71 -0
  257. amps-python-client-5.3.4.3/samples/AMPSNVFIXShredderSubscriber.py +67 -0
  258. amps-python-client-5.3.4.3/samples/AMPSPublishForReplay.py +81 -0
  259. amps-python-client-5.3.4.3/samples/AMPSQueueConsumer.py +69 -0
  260. amps-python-client-5.3.4.3/samples/AMPSQueuePublisher.py +59 -0
  261. amps-python-client-5.3.4.3/samples/AMPSSOWConsolePublisher.py +67 -0
  262. amps-python-client-5.3.4.3/samples/AMPSSOWConsoleSubscriber.py +77 -0
  263. amps-python-client-5.3.4.3/samples/AMPSSOWandSubscribeConsoleSubscriber.py +79 -0
  264. amps-python-client-5.3.4.3/samples/AMPSSOWandSubscribeWithOOF.py +108 -0
  265. amps-python-client-5.3.4.3/samples/AMPSSubscribeForReplay.py +128 -0
  266. amps-python-client-5.3.4.3/samples/AMPSUpdateForOOF.py +123 -0
  267. amps-python-client-5.3.4.3/samples/CompositeMessagePublisher.py +84 -0
  268. amps-python-client-5.3.4.3/samples/CompositeMessageSubscriber.py +87 -0
  269. amps-python-client-5.3.4.3/samples/RandomServerChooser.py +66 -0
  270. amps-python-client-5.3.4.3/samples/sample.xml +335 -0
  271. amps-python-client-5.3.4.3/setup.py +210 -0
  272. amps-python-client-5.3.4.3/setup_amps.py +94 -0
  273. amps-python-client-5.3.4.3/src/ampspy_shims.cpp +214 -0
  274. amps-python-client-5.3.4.3/src/ampspy_type_object.cpp +495 -0
  275. amps-python-client-5.3.4.3/src/authenticator.cpp +128 -0
  276. amps-python-client-5.3.4.3/src/bookmarkstore.cpp +246 -0
  277. amps-python-client-5.3.4.3/src/client.cpp +2648 -0
  278. amps-python-client-5.3.4.3/src/client_docs.h +1210 -0
  279. amps-python-client-5.3.4.3/src/cmessagehandler.cpp +161 -0
  280. amps-python-client-5.3.4.3/src/command.cpp +164 -0
  281. amps-python-client-5.3.4.3/src/command_docs.h +274 -0
  282. amps-python-client-5.3.4.3/src/compositemessagebuilder.cpp +113 -0
  283. amps-python-client-5.3.4.3/src/compositemessageparser.cpp +151 -0
  284. amps-python-client-5.3.4.3/src/conflatingrecoverypointadapter.cpp +197 -0
  285. amps-python-client-5.3.4.3/src/cpp/include/amps/BlockPublishStore.hpp +2050 -0
  286. amps-python-client-5.3.4.3/src/cpp/include/amps/BlockStore.hpp +674 -0
  287. amps-python-client-5.3.4.3/src/cpp/include/amps/BookmarkStore.hpp +542 -0
  288. amps-python-client-5.3.4.3/src/cpp/include/amps/Buffer.hpp +214 -0
  289. amps-python-client-5.3.4.3/src/cpp/include/amps/CompositeMessageBuilder.hpp +174 -0
  290. amps-python-client-5.3.4.3/src/cpp/include/amps/CompositeMessageParser.hpp +151 -0
  291. amps-python-client-5.3.4.3/src/cpp/include/amps/DefaultServerChooser.hpp +162 -0
  292. amps-python-client-5.3.4.3/src/cpp/include/amps/Field.hpp +723 -0
  293. amps-python-client-5.3.4.3/src/cpp/include/amps/HAClient.hpp +370 -0
  294. amps-python-client-5.3.4.3/src/cpp/include/amps/HAClientImpl.hpp +460 -0
  295. amps-python-client-5.3.4.3/src/cpp/include/amps/HybridPublishStore.hpp +481 -0
  296. amps-python-client-5.3.4.3/src/cpp/include/amps/LoggedBookmarkStore.hpp +1256 -0
  297. amps-python-client-5.3.4.3/src/cpp/include/amps/MMapBookmarkStore.hpp +1283 -0
  298. amps-python-client-5.3.4.3/src/cpp/include/amps/MMapStoreBuffer.hpp +297 -0
  299. amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryBookmarkStore.hpp +1628 -0
  300. amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryPublishStore.hpp +66 -0
  301. amps-python-client-5.3.4.3/src/cpp/include/amps/MemoryStoreBuffer.hpp +247 -0
  302. amps-python-client-5.3.4.3/src/cpp/include/amps/MemorySubscriptionManager.hpp +850 -0
  303. amps-python-client-5.3.4.3/src/cpp/include/amps/Message.hpp +1827 -0
  304. amps-python-client-5.3.4.3/src/cpp/include/amps/MessageRouter.hpp +647 -0
  305. amps-python-client-5.3.4.3/src/cpp/include/amps/PublishStore.hpp +158 -0
  306. amps-python-client-5.3.4.3/src/cpp/include/amps/ReconnectDelayStrategy.hpp +106 -0
  307. amps-python-client-5.3.4.3/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +317 -0
  308. amps-python-client-5.3.4.3/src/cpp/include/amps/RecoveryPoint.hpp +323 -0
  309. amps-python-client-5.3.4.3/src/cpp/include/amps/RecoveryPointAdapter.hpp +501 -0
  310. amps-python-client-5.3.4.3/src/cpp/include/amps/RingBookmarkStore.hpp +669 -0
  311. amps-python-client-5.3.4.3/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +494 -0
  312. amps-python-client-5.3.4.3/src/cpp/include/amps/ServerChooser.hpp +156 -0
  313. amps-python-client-5.3.4.3/src/cpp/include/amps/ServerChooserImpl.hpp +95 -0
  314. amps-python-client-5.3.4.3/src/cpp/include/amps/amps.h +815 -0
  315. amps-python-client-5.3.4.3/src/cpp/include/amps/amps_impl.h +220 -0
  316. amps-python-client-5.3.4.3/src/cpp/include/amps/amps_ssl.h +78 -0
  317. amps-python-client-5.3.4.3/src/cpp/include/amps/ampscrc.hpp +208 -0
  318. amps-python-client-5.3.4.3/src/cpp/include/amps/ampsplusplus.hpp +8846 -0
  319. amps-python-client-5.3.4.3/src/cpp/include/amps/ampsuri.h +84 -0
  320. amps-python-client-5.3.4.3/src/cpp/include/amps/ampsver.h +41 -0
  321. amps-python-client-5.3.4.3/src/cpp/include/amps/ampsver.h.in +41 -0
  322. amps-python-client-5.3.4.3/src/cpp/include/amps/constants.hpp +194 -0
  323. amps-python-client-5.3.4.3/src/cpp/include/amps/util.hpp +1722 -0
  324. amps-python-client-5.3.4.3/src/cpp/src/amps_protocol.c +693 -0
  325. amps-python-client-5.3.4.3/src/cpp/src/amps_ssl.c +565 -0
  326. amps-python-client-5.3.4.3/src/cpp/src/atfork.c +484 -0
  327. amps-python-client-5.3.4.3/src/cpp/src/client.c +498 -0
  328. amps-python-client-5.3.4.3/src/cpp/src/message.c +837 -0
  329. amps-python-client-5.3.4.3/src/cpp/src/message_generated.h +611 -0
  330. amps-python-client-5.3.4.3/src/cpp/src/tcp.c +1683 -0
  331. amps-python-client-5.3.4.3/src/cpp/src/tcps.c +2005 -0
  332. amps-python-client-5.3.4.3/src/cpp/src/transports.c +129 -0
  333. amps-python-client-5.3.4.3/src/cpp/src/unix.c +1063 -0
  334. amps-python-client-5.3.4.3/src/cpp/src/uri.c +301 -0
  335. amps-python-client-5.3.4.3/src/exponentialdelaystrategy.cpp +131 -0
  336. amps-python-client-5.3.4.3/src/failedwritehandler.cpp +116 -0
  337. amps-python-client-5.3.4.3/src/fixbuilder.cpp +146 -0
  338. amps-python-client-5.3.4.3/src/fixeddelaystrategy.cpp +115 -0
  339. amps-python-client-5.3.4.3/src/fixshredder.cpp +105 -0
  340. amps-python-client-5.3.4.3/src/fixshredder_docs.h +38 -0
  341. amps-python-client-5.3.4.3/src/haclient.cpp +691 -0
  342. amps-python-client-5.3.4.3/src/haclient_docs.h +200 -0
  343. amps-python-client-5.3.4.3/src/hybridpublishstore.cpp +137 -0
  344. amps-python-client-5.3.4.3/src/hybridpublishstore_docs.h +31 -0
  345. amps-python-client-5.3.4.3/src/memorybookmarkstore.cpp +373 -0
  346. amps-python-client-5.3.4.3/src/memorybookmarkstore_docs.h +39 -0
  347. amps-python-client-5.3.4.3/src/memorypublishstore.cpp +160 -0
  348. amps-python-client-5.3.4.3/src/memorypublishstore_docs.h +32 -0
  349. amps-python-client-5.3.4.3/src/message.cpp +765 -0
  350. amps-python-client-5.3.4.3/src/message_docs.h +306 -0
  351. amps-python-client-5.3.4.3/src/messagestream.cpp +630 -0
  352. amps-python-client-5.3.4.3/src/messagestream_docs.h +45 -0
  353. amps-python-client-5.3.4.3/src/mmapbookmarkstore.cpp +422 -0
  354. amps-python-client-5.3.4.3/src/nvfixbuilder.cpp +160 -0
  355. amps-python-client-5.3.4.3/src/nvfixbuilder_docs.h +35 -0
  356. amps-python-client-5.3.4.3/src/nvfixshredder.cpp +99 -0
  357. amps-python-client-5.3.4.3/src/nvfixshredder_docs.h +43 -0
  358. amps-python-client-5.3.4.3/src/publishstore.cpp +183 -0
  359. amps-python-client-5.3.4.3/src/raw_wrapper.cpp +765 -0
  360. amps-python-client-5.3.4.3/src/reason.cpp +71 -0
  361. amps-python-client-5.3.4.3/src/recoverypoint.cpp +135 -0
  362. amps-python-client-5.3.4.3/src/recoverypointadapter.cpp +171 -0
  363. amps-python-client-5.3.4.3/src/ringbookmarkstore.cpp +360 -0
  364. amps-python-client-5.3.4.3/src/serverchooser.cpp +245 -0
  365. amps-python-client-5.3.4.3/src/serverchooser_docs.h +41 -0
  366. amps-python-client-5.3.4.3/src/sowrecoverypointadapter.cpp +248 -0
  367. amps-python-client-5.3.4.3/src/store.cpp +62 -0
  368. amps-python-client-5.3.4.3/src/versioninfo.cpp +175 -0
  369. amps-python-client-5.3.4.1/LICENSE +0 -157
  370. amps-python-client-5.3.4.1/PKG-INFO +0 -112
  371. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  372. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  373. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  374. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  375. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  376. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  377. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  378. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  379. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  380. amps-python-client-5.3.4.1/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  381. amps-python-client-5.3.4.1/docs/command-reference/doctrees/environment.pickle +0 -0
  382. amps-python-client-5.3.4.1/docs/command-reference/doctrees/index.doctree +0 -0
  383. amps-python-client-5.3.4.1/docs/command-reference/html/.buildinfo +0 -4
  384. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -32
  385. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -27
  386. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -43
  387. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -231
  388. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -1474
  389. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -25
  390. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -12
  391. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -23
  392. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -6
  393. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -13
  394. amps-python-client-5.3.4.1/docs/command-reference/html/_sources/index.rst.txt +0 -56
  395. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css +0 -192
  396. amps-python-client-5.3.4.1/docs/command-reference/html/_static/custom.css.backup +0 -161
  397. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/ack-messages.html +0 -417
  398. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/content-messages.html +0 -417
  399. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/intro.html +0 -126
  400. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/logon.html +0 -295
  401. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/protocol-reference.html +0 -1190
  402. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/publishing.html +0 -436
  403. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-delimiters.html +0 -173
  404. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/query-subscribe.html +0 -2123
  405. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/removing.html +0 -299
  406. amps-python-client-5.3.4.1/docs/command-reference/html/chapters/utilities.html +0 -287
  407. amps-python-client-5.3.4.1/docs/command-reference/html/genindex.html +0 -97
  408. amps-python-client-5.3.4.1/docs/command-reference/html/index.html +0 -138
  409. amps-python-client-5.3.4.1/docs/command-reference/html/objects.inv +0 -0
  410. amps-python-client-5.3.4.1/docs/command-reference/html/search.html +0 -107
  411. amps-python-client-5.3.4.1/docs/command-reference/html/searchindex.js +0 -1
  412. amps-python-client-5.3.4.1/docs/html/.buildinfo +0 -4
  413. amps-python-client-5.3.4.1/docs/html/code.html +0 -6503
  414. amps-python-client-5.3.4.1/docs/html/genindex.html +0 -1361
  415. amps-python-client-5.3.4.1/docs/html/index.html +0 -131
  416. amps-python-client-5.3.4.1/docs/html/objects.inv +0 -0
  417. amps-python-client-5.3.4.1/docs/html/py-modindex.html +0 -111
  418. amps-python-client-5.3.4.1/docs/html/search.html +0 -107
  419. amps-python-client-5.3.4.1/docs/html/searchindex.js +0 -1
  420. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  421. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  422. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  423. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  424. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/deltas.doctree +0 -0
  425. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  426. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  427. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/first-program.doctree +0 -0
  428. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  429. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/installing.doctree +0 -0
  430. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/introduction.doctree +0 -0
  431. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  432. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  433. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/queues.doctree +0 -0
  434. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/sow.doctree +0 -0
  435. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  436. amps-python-client-5.3.4.1/docs/python/doctrees/chapters/utilities.doctree +0 -0
  437. amps-python-client-5.3.4.1/docs/python/doctrees/environment.pickle +0 -0
  438. amps-python-client-5.3.4.1/docs/python/doctrees/index.doctree +0 -0
  439. amps-python-client-5.3.4.1/docs/python/html/.buildinfo +0 -4
  440. amps-python-client-5.3.4.1/docs/python/html/_images/caution.svg +0 -25
  441. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -398
  442. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -26
  443. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -159
  444. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/deltas.rst.txt +0 -79
  445. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -482
  446. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -128
  447. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/first-program.rst.txt +0 -142
  448. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -876
  449. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/installing.rst.txt +0 -184
  450. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/introduction.rst.txt +0 -50
  451. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -32
  452. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -434
  453. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/queues.rst.txt +0 -282
  454. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/sow.rst.txt +0 -292
  455. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -374
  456. amps-python-client-5.3.4.1/docs/python/html/_sources/chapters/utilities.rst.txt +0 -214
  457. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css +0 -192
  458. amps-python-client-5.3.4.1/docs/python/html/_static/custom.css.backup +0 -161
  459. amps-python-client-5.3.4.1/docs/python/html/chapters/advanced-topics.html +0 -447
  460. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-compiler-list.html +0 -92
  461. amps-python-client-5.3.4.1/docs/python/html/chapters/cpp-feature-table.html +0 -156
  462. amps-python-client-5.3.4.1/docs/python/html/chapters/creating-commands.html +0 -2837
  463. amps-python-client-5.3.4.1/docs/python/html/chapters/deltas.html +0 -169
  464. amps-python-client-5.3.4.1/docs/python/html/chapters/error-handling.html +0 -746
  465. amps-python-client-5.3.4.1/docs/python/html/chapters/exceptions.html +0 -272
  466. amps-python-client-5.3.4.1/docs/python/html/chapters/first-program.html +0 -499
  467. amps-python-client-5.3.4.1/docs/python/html/chapters/high-availability.html +0 -1014
  468. amps-python-client-5.3.4.1/docs/python/html/chapters/installing.html +0 -264
  469. amps-python-client-5.3.4.1/docs/python/html/chapters/introduction.html +0 -245
  470. amps-python-client-5.3.4.1/docs/python/html/chapters/moving-from-python-lite.html +0 -118
  471. amps-python-client-5.3.4.1/docs/python/html/chapters/performance-tips.html +0 -499
  472. amps-python-client-5.3.4.1/docs/python/html/chapters/queues.html +0 -352
  473. amps-python-client-5.3.4.1/docs/python/html/chapters/sow.html +0 -381
  474. amps-python-client-5.3.4.1/docs/python/html/chapters/subscriptions.html +0 -535
  475. amps-python-client-5.3.4.1/docs/python/html/chapters/utilities.html +0 -302
  476. amps-python-client-5.3.4.1/docs/python/html/genindex.html +0 -351
  477. amps-python-client-5.3.4.1/docs/python/html/index.html +0 -380
  478. amps-python-client-5.3.4.1/docs/python/html/objects.inv +0 -0
  479. amps-python-client-5.3.4.1/docs/python/html/search.html +0 -107
  480. amps-python-client-5.3.4.1/docs/python/html/searchindex.js +0 -1
  481. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  482. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  483. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/environment.pickle +0 -0
  484. amps-python-client-5.3.4.1/docs/python-quickstart/doctrees/index.doctree +0 -0
  485. amps-python-client-5.3.4.1/docs/python-quickstart/html/.buildinfo +0 -4
  486. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css +0 -192
  487. amps-python-client-5.3.4.1/docs/python-quickstart/html/_static/custom.css.backup +0 -161
  488. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/crankitup.html +0 -271
  489. amps-python-client-5.3.4.1/docs/python-quickstart/html/chapters/equipment.html +0 -105
  490. amps-python-client-5.3.4.1/docs/python-quickstart/html/genindex.html +0 -97
  491. amps-python-client-5.3.4.1/docs/python-quickstart/html/index.html +0 -382
  492. amps-python-client-5.3.4.1/docs/python-quickstart/html/objects.inv +0 -0
  493. amps-python-client-5.3.4.1/docs/python-quickstart/html/search.html +0 -107
  494. amps-python-client-5.3.4.1/docs/python-quickstart/html/searchindex.js +0 -1
  495. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  496. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  497. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  498. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  499. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  500. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  501. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  502. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  503. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  504. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  505. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  506. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  507. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  508. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  509. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  510. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  511. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  512. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  513. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  514. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  515. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  516. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  517. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  518. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  519. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  520. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  521. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  522. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  523. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  524. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  525. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  526. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  527. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  528. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  529. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  530. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  531. amps-python-client-5.3.4.1/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  532. amps-python-client-5.3.4.1/docs/user-guide/doctrees/environment.pickle +0 -0
  533. amps-python-client-5.3.4.1/docs/user-guide/doctrees/index.doctree +0 -0
  534. amps-python-client-5.3.4.1/docs/user-guide/html/.buildinfo +0 -4
  535. amps-python-client-5.3.4.1/docs/user-guide/html/_images/AMPS-Queues-Intro.svg +0 -1330
  536. amps-python-client-5.3.4.1/docs/user-guide/html/_images/GeoRepl.png +0 -0
  537. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_async_ack.png +0 -0
  538. amps-python-client-5.3.4.1/docs/user-guide/html/_images/HA_sync_ack.png +0 -0
  539. amps-python-client-5.3.4.1/docs/user-guide/html/_images/Hot-Hot-Replication.png +0 -0
  540. amps-python-client-5.3.4.1/docs/user-guide/html/_images/MessageOrdering.svg +0 -235
  541. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF5.png +0 -0
  542. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF6.png +0 -0
  543. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF7.png +0 -0
  544. amps-python-client-5.3.4.1/docs/user-guide/html/_images/OOF8.png +0 -0
  545. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub1.svg +0 -1
  546. amps-python-client-5.3.4.1/docs/user-guide/html/_images/PubSub2.svg +0 -1
  547. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWAndSubscribeAndReplace.svg +0 -684
  548. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery1.svg +0 -402
  549. amps-python-client-5.3.4.1/docs/user-guide/html/_images/SOWQuery2.svg +0 -505
  550. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig1.svg +0 -1
  551. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig2.svg +0 -1
  552. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig3.svg +0 -1
  553. amps-python-client-5.3.4.1/docs/user-guide/html/_images/UseCaseFig4.svg +0 -1
  554. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.png +0 -0
  555. amps-python-client-5.3.4.1/docs/user-guide/html/_images/caution.svg +0 -25
  556. amps-python-client-5.3.4.1/docs/user-guide/html/_images/chicago_group.png +0 -0
  557. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_original_messages.png +0 -0
  558. amps-python-client-5.3.4.1/docs/user-guide/html/_images/delta_update_message.png +0 -0
  559. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.png +0 -0
  560. amps-python-client-5.3.4.1/docs/user-guide/html/_images/important.svg +0 -25
  561. amps-python-client-5.3.4.1/docs/user-guide/html/_images/inline_view_conflation.svg +0 -1
  562. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_pub.png +0 -0
  563. amps-python-client-5.3.4.1/docs/user-guide/html/_images/paginated_subs_sub.png +0 -0
  564. amps-python-client-5.3.4.1/docs/user-guide/html/_images/queue_usage_overview.svg +0 -627
  565. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_hub.png +0 -0
  566. amps-python-client-5.3.4.1/docs/user-guide/html/_images/replication_scenario_with_ha.png +0 -0
  567. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_1.svg +0 -248
  568. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_overview_2.svg +0 -183
  569. amps-python-client-5.3.4.1/docs/user-guide/html/_images/sow_update_sequence.svg +0 -1
  570. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.png +0 -0
  571. amps-python-client-5.3.4.1/docs/user-guide/html/_images/tip.svg +0 -31
  572. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.png +0 -0
  573. amps-python-client-5.3.4.1/docs/user-guide/html/_images/warning.svg +0 -23
  574. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -232
  575. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -111
  576. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -358
  577. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -83
  578. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -11
  579. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -86
  580. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -9
  581. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -111
  582. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -269
  583. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -232
  584. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -556
  585. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -186
  586. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -191
  587. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -39
  588. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -203
  589. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -101
  590. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -465
  591. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -23
  592. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -116
  593. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -34
  594. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -1398
  595. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -326
  596. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -312
  597. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -27
  598. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -49
  599. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -1351
  600. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -1228
  601. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -657
  602. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -57
  603. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -25
  604. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -291
  605. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -517
  606. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -62
  607. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -21
  608. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -62
  609. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -175
  610. amps-python-client-5.3.4.1/docs/user-guide/html/_sources/index.rst.txt +0 -110
  611. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css +0 -192
  612. amps-python-client-5.3.4.1/docs/user-guide/html/_static/custom.css.backup +0 -161
  613. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/acks.html +0 -289
  614. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/actions.html +0 -3782
  615. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps-statistics.html +0 -439
  616. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_expressions.html +0 -1552
  617. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/amps_functions.html +0 -1626
  618. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/auxiliary_modules.html +0 -2548
  619. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -508
  620. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/conflated_topics.html +0 -328
  621. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/constructing-fields.html +0 -447
  622. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/daemon.html +0 -295
  623. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/delta.html +0 -609
  624. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/distribution.html +0 -246
  625. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/enrichment.html +0 -264
  626. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/events.html +0 -449
  627. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/file_format_versions.html +0 -229
  628. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/glossary.html +0 -215
  629. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/ha.html +0 -978
  630. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/installing_and_starting.html +0 -357
  631. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/intro.html +0 -572
  632. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/logging.html +0 -972
  633. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/messageTypes.html +0 -1280
  634. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/monitoring.html +0 -718
  635. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/oof.html +0 -341
  636. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/operation.html +0 -1515
  637. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/pub_sub.html +0 -934
  638. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/queues.html +0 -1767
  639. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/replication.html +0 -1777
  640. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/securing.html +0 -697
  641. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow.html +0 -1038
  642. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/sow_queries.html +0 -621
  643. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/spark.html +0 -819
  644. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/transports.html +0 -352
  645. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/troubleshooting.html +0 -530
  646. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/txlog.html +0 -1013
  647. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/usecases.html +0 -288
  648. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/utilities.html +0 -133
  649. amps-python-client-5.3.4.1/docs/user-guide/html/chapters/views.html +0 -1120
  650. amps-python-client-5.3.4.1/docs/user-guide/html/genindex.html +0 -1261
  651. amps-python-client-5.3.4.1/docs/user-guide/html/index.html +0 -163
  652. amps-python-client-5.3.4.1/docs/user-guide/html/objects.inv +0 -0
  653. amps-python-client-5.3.4.1/docs/user-guide/html/search.html +0 -106
  654. amps-python-client-5.3.4.1/docs/user-guide/html/searchindex.js +0 -1
  655. amps-python-client-5.3.4.1/include/ampspy_bookmarkstore.hpp +0 -63
  656. amps-python-client-5.3.4.1/include/ampspy_compat.h +0 -63
  657. amps-python-client-5.3.4.1/include/ampspy_defs.hpp +0 -181
  658. amps-python-client-5.3.4.1/include/ampspy_recoverypointadapter.hpp +0 -52
  659. amps-python-client-5.3.4.1/include/ampspy_shims.hpp +0 -113
  660. amps-python-client-5.3.4.1/include/ampspy_type_object.hpp +0 -242
  661. amps-python-client-5.3.4.1/include/ampspy_types.hpp +0 -1139
  662. amps-python-client-5.3.4.1/include/ampspyver.h +0 -30
  663. amps-python-client-5.3.4.1/index.html +0 -66
  664. amps-python-client-5.3.4.1/samples/AMPSConsolePublisher.py +0 -59
  665. amps-python-client-5.3.4.1/samples/AMPSConsoleSubscriber.py +0 -63
  666. amps-python-client-5.3.4.1/samples/AMPSFIXBuilderPublisher.py +0 -71
  667. amps-python-client-5.3.4.1/samples/AMPSFIXShredderSubscriber.py +0 -69
  668. amps-python-client-5.3.4.1/samples/AMPSNVFIXBuilderPublisher.py +0 -71
  669. amps-python-client-5.3.4.1/samples/AMPSNVFIXShredderSubscriber.py +0 -67
  670. amps-python-client-5.3.4.1/samples/AMPSPublishForReplay.py +0 -81
  671. amps-python-client-5.3.4.1/samples/AMPSQueueConsumer.py +0 -69
  672. amps-python-client-5.3.4.1/samples/AMPSQueuePublisher.py +0 -59
  673. amps-python-client-5.3.4.1/samples/AMPSSOWConsolePublisher.py +0 -67
  674. amps-python-client-5.3.4.1/samples/AMPSSOWConsoleSubscriber.py +0 -77
  675. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -79
  676. amps-python-client-5.3.4.1/samples/AMPSSOWandSubscribeWithOOF.py +0 -108
  677. amps-python-client-5.3.4.1/samples/AMPSSubscribeForReplay.py +0 -128
  678. amps-python-client-5.3.4.1/samples/AMPSUpdateForOOF.py +0 -123
  679. amps-python-client-5.3.4.1/samples/CompositeMessagePublisher.py +0 -84
  680. amps-python-client-5.3.4.1/samples/CompositeMessageSubscriber.py +0 -87
  681. amps-python-client-5.3.4.1/samples/RandomServerChooser.py +0 -41
  682. amps-python-client-5.3.4.1/samples/sample.xml +0 -335
  683. amps-python-client-5.3.4.1/setup.py +0 -209
  684. amps-python-client-5.3.4.1/setup_amps.py +0 -94
  685. amps-python-client-5.3.4.1/src/ampspy_shims.cpp +0 -203
  686. amps-python-client-5.3.4.1/src/ampspy_type_object.cpp +0 -484
  687. amps-python-client-5.3.4.1/src/authenticator.cpp +0 -128
  688. amps-python-client-5.3.4.1/src/bookmarkstore.cpp +0 -238
  689. amps-python-client-5.3.4.1/src/client.cpp +0 -2430
  690. amps-python-client-5.3.4.1/src/client_docs.h +0 -956
  691. amps-python-client-5.3.4.1/src/cmessagehandler.cpp +0 -151
  692. amps-python-client-5.3.4.1/src/command.cpp +0 -164
  693. amps-python-client-5.3.4.1/src/command_docs.h +0 -194
  694. amps-python-client-5.3.4.1/src/compositemessagebuilder.cpp +0 -111
  695. amps-python-client-5.3.4.1/src/compositemessageparser.cpp +0 -146
  696. amps-python-client-5.3.4.1/src/conflatingrecoverypointadapter.cpp +0 -194
  697. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockPublishStore.hpp +0 -2053
  698. amps-python-client-5.3.4.1/src/cpp/include/amps/BlockStore.hpp +0 -677
  699. amps-python-client-5.3.4.1/src/cpp/include/amps/BookmarkStore.hpp +0 -542
  700. amps-python-client-5.3.4.1/src/cpp/include/amps/Buffer.hpp +0 -214
  701. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -174
  702. amps-python-client-5.3.4.1/src/cpp/include/amps/CompositeMessageParser.hpp +0 -151
  703. amps-python-client-5.3.4.1/src/cpp/include/amps/DefaultServerChooser.hpp +0 -162
  704. amps-python-client-5.3.4.1/src/cpp/include/amps/Field.hpp +0 -719
  705. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClient.hpp +0 -370
  706. amps-python-client-5.3.4.1/src/cpp/include/amps/HAClientImpl.hpp +0 -460
  707. amps-python-client-5.3.4.1/src/cpp/include/amps/HybridPublishStore.hpp +0 -481
  708. amps-python-client-5.3.4.1/src/cpp/include/amps/LoggedBookmarkStore.hpp +0 -1255
  709. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -1283
  710. amps-python-client-5.3.4.1/src/cpp/include/amps/MMapStoreBuffer.hpp +0 -290
  711. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryBookmarkStore.hpp +0 -1622
  712. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryPublishStore.hpp +0 -66
  713. amps-python-client-5.3.4.1/src/cpp/include/amps/MemoryStoreBuffer.hpp +0 -244
  714. amps-python-client-5.3.4.1/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -850
  715. amps-python-client-5.3.4.1/src/cpp/include/amps/Message.hpp +0 -1819
  716. amps-python-client-5.3.4.1/src/cpp/include/amps/MessageRouter.hpp +0 -618
  717. amps-python-client-5.3.4.1/src/cpp/include/amps/PublishStore.hpp +0 -158
  718. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategy.hpp +0 -106
  719. amps-python-client-5.3.4.1/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -317
  720. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPoint.hpp +0 -323
  721. amps-python-client-5.3.4.1/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -501
  722. amps-python-client-5.3.4.1/src/cpp/include/amps/RingBookmarkStore.hpp +0 -669
  723. amps-python-client-5.3.4.1/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +0 -490
  724. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooser.hpp +0 -145
  725. amps-python-client-5.3.4.1/src/cpp/include/amps/ServerChooserImpl.hpp +0 -95
  726. amps-python-client-5.3.4.1/src/cpp/include/amps/amps.h +0 -775
  727. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_impl.h +0 -204
  728. amps-python-client-5.3.4.1/src/cpp/include/amps/amps_ssl.h +0 -78
  729. amps-python-client-5.3.4.1/src/cpp/include/amps/ampscrc.hpp +0 -210
  730. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsplusplus.hpp +0 -8817
  731. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsuri.h +0 -84
  732. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h +0 -41
  733. amps-python-client-5.3.4.1/src/cpp/include/amps/ampsver.h.in +0 -41
  734. amps-python-client-5.3.4.1/src/cpp/include/amps/constants.hpp +0 -194
  735. amps-python-client-5.3.4.1/src/cpp/include/amps/util.hpp +0 -1692
  736. amps-python-client-5.3.4.1/src/cpp/src/amps_protocol.c +0 -688
  737. amps-python-client-5.3.4.1/src/cpp/src/amps_ssl.c +0 -489
  738. amps-python-client-5.3.4.1/src/cpp/src/atfork.c +0 -446
  739. amps-python-client-5.3.4.1/src/cpp/src/client.c +0 -483
  740. amps-python-client-5.3.4.1/src/cpp/src/message.c +0 -837
  741. amps-python-client-5.3.4.1/src/cpp/src/message_generated.h +0 -611
  742. amps-python-client-5.3.4.1/src/cpp/src/tcp.c +0 -1489
  743. amps-python-client-5.3.4.1/src/cpp/src/tcps.c +0 -1894
  744. amps-python-client-5.3.4.1/src/cpp/src/transports.c +0 -123
  745. amps-python-client-5.3.4.1/src/cpp/src/unix.c +0 -984
  746. amps-python-client-5.3.4.1/src/cpp/src/uri.c +0 -301
  747. amps-python-client-5.3.4.1/src/exponentialdelaystrategy.cpp +0 -137
  748. amps-python-client-5.3.4.1/src/failedwritehandler.cpp +0 -116
  749. amps-python-client-5.3.4.1/src/fixbuilder.cpp +0 -146
  750. amps-python-client-5.3.4.1/src/fixeddelaystrategy.cpp +0 -114
  751. amps-python-client-5.3.4.1/src/fixshredder.cpp +0 -105
  752. amps-python-client-5.3.4.1/src/fixshredder_docs.h +0 -38
  753. amps-python-client-5.3.4.1/src/haclient.cpp +0 -691
  754. amps-python-client-5.3.4.1/src/haclient_docs.h +0 -132
  755. amps-python-client-5.3.4.1/src/hybridpublishstore.cpp +0 -137
  756. amps-python-client-5.3.4.1/src/hybridpublishstore_docs.h +0 -31
  757. amps-python-client-5.3.4.1/src/memorybookmarkstore.cpp +0 -373
  758. amps-python-client-5.3.4.1/src/memorybookmarkstore_docs.h +0 -39
  759. amps-python-client-5.3.4.1/src/memorypublishstore.cpp +0 -160
  760. amps-python-client-5.3.4.1/src/memorypublishstore_docs.h +0 -32
  761. amps-python-client-5.3.4.1/src/message.cpp +0 -765
  762. amps-python-client-5.3.4.1/src/message_docs.h +0 -306
  763. amps-python-client-5.3.4.1/src/messagestream.cpp +0 -623
  764. amps-python-client-5.3.4.1/src/messagestream_docs.h +0 -45
  765. amps-python-client-5.3.4.1/src/mmapbookmarkstore.cpp +0 -422
  766. amps-python-client-5.3.4.1/src/nvfixbuilder.cpp +0 -160
  767. amps-python-client-5.3.4.1/src/nvfixbuilder_docs.h +0 -33
  768. amps-python-client-5.3.4.1/src/nvfixshredder.cpp +0 -99
  769. amps-python-client-5.3.4.1/src/nvfixshredder_docs.h +0 -39
  770. amps-python-client-5.3.4.1/src/publishstore.cpp +0 -183
  771. amps-python-client-5.3.4.1/src/raw_wrapper.cpp +0 -756
  772. amps-python-client-5.3.4.1/src/reason.cpp +0 -71
  773. amps-python-client-5.3.4.1/src/recoverypoint.cpp +0 -135
  774. amps-python-client-5.3.4.1/src/recoverypointadapter.cpp +0 -171
  775. amps-python-client-5.3.4.1/src/ringbookmarkstore.cpp +0 -360
  776. amps-python-client-5.3.4.1/src/serverchooser.cpp +0 -245
  777. amps-python-client-5.3.4.1/src/serverchooser_docs.h +0 -39
  778. amps-python-client-5.3.4.1/src/sowrecoverypointadapter.cpp +0 -248
  779. amps-python-client-5.3.4.1/src/store.cpp +0 -62
  780. amps-python-client-5.3.4.1/src/versioninfo.cpp +0 -175
  781. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/HISTORY +0 -0
  782. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/README.md +0 -0
  783. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  784. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/alabaster.css +0 -0
  785. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/basic.css +0 -0
  786. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-bright.png +0 -0
  787. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment-close.png +0 -0
  788. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/comment.png +0 -0
  789. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/doctools.js +0 -0
  790. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down-pressed.png +0 -0
  791. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/down.png +0 -0
  792. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/file.png +0 -0
  793. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.png +0 -0
  794. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/flag_logo.svg +0 -0
  795. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
  796. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/jquery.js +0 -0
  797. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/minus.png +0 -0
  798. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/plus.png +0 -0
  799. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/pygments.css +0 -0
  800. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/searchtools.js +0 -0
  801. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
  802. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/underscore.js +0 -0
  803. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up-pressed.png +0 -0
  804. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/up.png +0 -0
  805. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/command-reference/html/_static/websupport.js +0 -0
  806. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_sources/code.rst.txt +0 -0
  807. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_sources/index.rst.txt +0 -0
  808. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/ajax-loader.gif +0 -0
  809. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/basic.css +0 -0
  810. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/classic.css +0 -0
  811. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment-bright.png +0 -0
  812. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment-close.png +0 -0
  813. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/comment.png +0 -0
  814. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/default.css +0 -0
  815. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/doctools.js +0 -0
  816. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/down-pressed.png +0 -0
  817. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/down.png +0 -0
  818. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/file.png +0 -0
  819. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/jquery-3.1.0.js +0 -0
  820. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/jquery.js +0 -0
  821. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/minus.png +0 -0
  822. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/plus.png +0 -0
  823. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/pygments.css +0 -0
  824. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/searchtools.js +0 -0
  825. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/sidebar.js +0 -0
  826. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/underscore-1.3.1.js +0 -0
  827. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/underscore.js +0 -0
  828. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/up-pressed.png +0 -0
  829. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/up.png +0 -0
  830. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/html/_static/websupport.js +0 -0
  831. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/caution.png +0 -0
  832. {amps-python-client-5.3.4.1/docs/command-reference → amps-python-client-5.3.4.3/docs/python}/html/_images/caution.svg +0 -0
  833. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/connection_string.svg +0 -0
  834. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.png +0 -0
  835. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/important.svg +0 -0
  836. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.png +0 -0
  837. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/tip.svg +0 -0
  838. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_images/warning.png +0 -0
  839. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
  840. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_sources/index.rst.txt +0 -0
  841. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/ajax-loader.gif +0 -0
  842. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/alabaster.css +0 -0
  843. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/basic.css +0 -0
  844. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-bright.png +0 -0
  845. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment-close.png +0 -0
  846. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/comment.png +0 -0
  847. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/doctools.js +0 -0
  848. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/down-pressed.png +0 -0
  849. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/down.png +0 -0
  850. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/file.png +0 -0
  851. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.png +0 -0
  852. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/flag_logo.svg +0 -0
  853. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery-3.1.0.js +0 -0
  854. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/jquery.js +0 -0
  855. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/minus.png +0 -0
  856. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/plus.png +0 -0
  857. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/pygments.css +0 -0
  858. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/searchtools.js +0 -0
  859. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore-1.3.1.js +0 -0
  860. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/underscore.js +0 -0
  861. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/up-pressed.png +0 -0
  862. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/up.png +0 -0
  863. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python/html/_static/websupport.js +0 -0
  864. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
  865. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
  866. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
  867. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  868. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/alabaster.css +0 -0
  869. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/basic.css +0 -0
  870. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  871. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment-close.png +0 -0
  872. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/comment.png +0 -0
  873. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/doctools.js +0 -0
  874. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  875. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/down.png +0 -0
  876. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/file.png +0 -0
  877. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  878. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
  879. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
  880. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/jquery.js +0 -0
  881. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/minus.png +0 -0
  882. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/plus.png +0 -0
  883. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/pygments.css +0 -0
  884. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/searchtools.js +0 -0
  885. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
  886. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/underscore.js +0 -0
  887. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  888. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/up.png +0 -0
  889. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/python-quickstart/html/_static/websupport.js +0 -0
  890. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/resources/custom.css +0 -0
  891. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/resources/flag_logo.svg +0 -0
  892. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
  893. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  894. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/alabaster.css +0 -0
  895. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/basic.css +0 -0
  896. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-bright.png +0 -0
  897. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment-close.png +0 -0
  898. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/comment.png +0 -0
  899. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/doctools.js +0 -0
  900. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down-pressed.png +0 -0
  901. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/down.png +0 -0
  902. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/file.png +0 -0
  903. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.png +0 -0
  904. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/flag_logo.svg +0 -0
  905. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
  906. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/jquery.js +0 -0
  907. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/minus.png +0 -0
  908. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/plus.png +0 -0
  909. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/pygments.css +0 -0
  910. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/searchtools.js +0 -0
  911. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
  912. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/underscore.js +0 -0
  913. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up-pressed.png +0 -0
  914. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/up.png +0 -0
  915. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/docs/user-guide/html/_static/websupport.js +0 -0
  916. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/include/amps/amps_generated.h +0 -0
  917. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/src/amps_protocol_generated.h +0 -0
  918. {amps-python-client-5.3.4.1 → amps-python-client-5.3.4.3}/src/cpp/src/makefile +0 -0
@@ -1,1038 +0,0 @@
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>7. State of the World (SOW) &#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="8. SOW Queries" href="sow_queries.html" />
30
- <link rel="prev" title="6. Constructing Fields" href="constructing-fields.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="#">7. State of the World (SOW)</a><ul>
49
- <li><a class="reference internal" href="#how-does-the-state-of-the-world-work">How Does the State of the World Work?</a></li>
50
- <li><a class="reference internal" href="#queries">Queries</a></li>
51
- <li><a class="reference internal" href="#sow-keys">SOW Keys</a><ul>
52
- <li><a class="reference internal" href="#amps-generated-sow-keys">AMPS-Generated SOW Keys</a><ul>
53
- <li><a class="reference internal" href="#using-enrichment-with-sow-keys">Using Enrichment with SOW Keys</a></li>
54
- <li><a class="reference internal" href="#customizing-amps-generated-sow-keys">Customizing AMPS-Generated SOW Keys</a></li>
55
- </ul>
56
- </li>
57
- <li><a class="reference internal" href="#user-generated-sow-keys">User-Generated SOW Keys</a></li>
58
- </ul>
59
- </li>
60
- <li><a class="reference internal" href="#sow-indexing">SOW Indexing</a></li>
61
- <li><a class="reference internal" href="#removing-sow-records">Removing SOW Records</a></li>
62
- <li><a class="reference internal" href="#sow-message-expiration">SOW Message Expiration</a><ul>
63
- <li><a class="reference internal" href="#usage">Usage</a><ul>
64
- <li><a class="reference internal" href="#enabling-expiration-for-a-topic">Enabling Expiration for a Topic</a></li>
65
- <li><a class="reference internal" href="#setting-expiration-for-a-message">Setting Expiration for a Message</a></li>
66
- </ul>
67
- </li>
68
- <li><a class="reference internal" href="#example-message-lifecycle">Example Message Lifecycle</a><ul>
69
- <li><a class="reference internal" href="#recovery-and-expiration">Recovery and Expiration</a></li>
70
- <li><a class="reference internal" href="#replication-and-expiration">Replication and Expiration</a></li>
71
- </ul>
72
- </li>
73
- </ul>
74
- </li>
75
- <li><a class="reference internal" href="#sow-maintenance">SOW Maintenance</a></li>
76
- <li><a class="reference internal" href="#efficiently-configuring-single-message-topics">Efficiently Configuring Single-Message Topics</a><ul>
77
- <li><a class="reference internal" href="#when-to-use-a-pattern-in-a-topic">When to Use a Pattern in a Topic</a></li>
78
- <li><a class="reference internal" href="#limitations-and-differences-between-topics-with-and-without-pattern">Limitations and Differences Between Topics With and Without Pattern</a></li>
79
- <li><a class="reference internal" href="#configuration-file-precedence">Configuration File Precedence</a></li>
80
- <li><a class="reference internal" href="#entitlements-for-topics-with-a-pattern">Entitlements for Topics with a Pattern</a></li>
81
- </ul>
82
- </li>
83
- <li><a class="reference internal" href="#configuration">Configuration</a></li>
84
- </ul>
85
- </li>
86
- </ul>
87
- <div class="relations">
88
- <h3>Related Topics</h3>
89
- <ul>
90
- <li><a href="../index.html">Documentation overview</a><ul>
91
- <li>Previous: <a href="constructing-fields.html" title="previous chapter">6. Constructing Fields</a></li>
92
- <li>Next: <a href="sow_queries.html" title="next chapter">8. SOW Queries</a></li>
93
- </ul></li>
94
- </ul>
95
- </div>
96
- <div id="searchbox" style="display: none" role="search">
97
- <h3>Quick search</h3>
98
- <form class="search" action="../search.html" method="get">
99
- <div><input type="text" name="q" /></div>
100
- <div><input type="submit" value="Go" /></div>
101
- <input type="hidden" name="check_keywords" value="yes" />
102
- <input type="hidden" name="area" value="default" />
103
- </form>
104
- </div>
105
- <script type="text/javascript">$('#searchbox').show(0);</script>
106
- </div>
107
- </div>
108
- <div class="documentwrapper">
109
- <div class="bodywrapper">
110
- <div class="body" role="main">
111
-
112
- <div class="section" id="state-of-the-world-sow">
113
- <span id="sow"></span><span id="ug-sow"></span><span id="index-0"></span><h1>7. State of the World (SOW)<a class="headerlink" href="#state-of-the-world-sow" title="Permalink to this headline">¶</a></h1>
114
- <p>One of the core features of AMPS is the ability to persist the most
115
- recent update for each distinct message published to a given topic. The
116
- State of the World (SOW) can be thought of as a database where messages
117
- published to AMPS are filtered into topics, and where the topics store
118
- the latest update to each distinct message. The SOW gives subscribers
119
- the ability to quickly resolve any differences between their data
120
- and updated data in the SOW by querying the current state of a topic
121
- or any set of messages inside a topic. Topics recorded in the SOW are
122
- also used for caching data, providing &#8220;point in time&#8221; snapshots of
123
- active data flows, providing key/value stores over data flows, and so on.
124
- Topics recorded in the SOW are the underlying sources for AMPS aggregation
125
- and analytics capabilities, and the ability to store the previous state
126
- of a message is the foundation of advanced messaging features such as
127
- delta messaging and out of focus notifications.</p>
128
- <p>AMPS also provides the ability to keep historical snapshots of the
129
- contents of the SOW, which allows subscribers to query the contents
130
- of the SOW at a particular point in time and replay changes from
131
- that point in time.</p>
132
- <p>AMPS can maintain the SOW for a topic in a persistent file, which will
133
- be available across restarts of the AMPS server. The SOW can also be
134
- <em>transient</em>, in which case the state of the SOW does not persist across
135
- server restarts.</p>
136
- <p>Topics do not keep the current values in the SOW by default. To provide
137
- this capability for a topic, you must configure AMPS to maintain the
138
- topic in the SOW by adding a definition for the <code class="docutils literal"><span class="pre">Topic</span></code> to the
139
- <code class="docutils literal"><span class="pre">SOW</span></code> section of the AMPS configuration file.</p>
140
- <div class="section" id="how-does-the-state-of-the-world-work">
141
- <h2>How Does the State of the World Work?<a class="headerlink" href="#how-does-the-state-of-the-world-work" title="Permalink to this headline">¶</a></h2>
142
- <p>Much like tables in a relational database, topics in the AMPS SOW
143
- persist the most recent update for each message. AMPS identifies a
144
- message by using a unique key for the message. The SOW key for a
145
- given message is similar to the primary key in a relational database:
146
- each value of the key is a unique message. The first time a message
147
- is received with a particular SOW key, AMPS adds the message to the SOW.
148
- Subsequent messages with the same SOW key value update the message.</p>
149
- <p>There are several ways to create a SOW key for a message:</p>
150
- <ul class="simple">
151
- <li>Most applications specify that AMPS assigns a SOW key based on the
152
- content of the message. The fields to use for the key are specified
153
- in the SOW topic definition, and consist of one or more XPath
154
- expressions. AMPS finds the specified fields in the message and
155
- computes a SOW key based on the name of the topic and the values in
156
- these fields. 60East recommends this approach unless an application
157
- has a specific need for a different approach.</li>
158
- <li>A topic can also be configured to require that a publisher provide a
159
- SOW key for each message when publishing the message to AMPS.</li>
160
- <li>AMPS also supports the ability for custom SOW key generation logic to
161
- be defined in an AMPS module, which will be invoked to generate the
162
- SOW key for each message. While these SOW keys are generated
163
- automatically by AMPS, rather than being provided by the publisher,
164
- the logic to generate these keys is provided by the module, and the
165
- configuration required (if any) is determined by the module.</li>
166
- </ul>
167
- <p>The following diagrams demonstrate how the SOW works, using a SOW topic
168
- that is configured to have AMPS determine the SOW key based on the
169
- <code class="docutils literal"><span class="pre">/orderId</span></code> field within the message. As each message comes in, AMPS
170
- uses the contents of the <code class="docutils literal"><span class="pre">/orderId</span></code> field to generate a SOW key for
171
- the message. The SOW key is used to identify unique records in the SOW,
172
- so AMPS will store a distinct record for each distinct <code class="docutils literal"><span class="pre">/orderId</span></code>
173
- value published to this topic. The calculated SOW key will be returned
174
- in the <code class="docutils literal"><span class="pre">SowKey</span></code> header of messages received from the topic in the SOW.</p>
175
- <div class="figure" id="fig-sow-ex1">
176
- <a class="reference internal image-reference" href="../_images/sow_overview_1.svg"><img alt="../_images/sow_overview_1.svg" src="../_images/sow_overview_1.svg" width="75.0%" /></a>
177
- </div>
178
- <p><em>A SOW topic named ORDERS with a key definition of /orderId</em></p>
179
- <p>In <a class="reference internal" href="#fig-sow-ex1"><span class="std std-ref">the diagram above</span></a>, two messages are published where neither of the
180
- messages have matching keys existing in the <code class="docutils literal"><span class="pre">ORDERS</span></code> topic, the
181
- messages are both inserted as new messages. Some time after these
182
- messages are processed, an update comes in for the order with an
183
- <code class="docutils literal"><span class="pre">orderId</span></code> of <code class="docutils literal"><span class="pre">2</span></code>. This message changes the price from 120 to 95.
184
- Since the incoming message has an <code class="docutils literal"><span class="pre">orderId</span></code> of 2, this matches an
185
- existing record and overwrites the existing message for the same SOW
186
- key, as seen in <a class="reference internal" href="#fig-sow-ex2"><span class="std std-ref">the following diagram</span></a>. AMPS replaces the entire record
187
- with the contents of the update.</p>
188
- <div class="figure" id="fig-sow-ex2">
189
- <a class="reference internal image-reference" href="../_images/sow_overview_2.svg"><img alt="../_images/sow_overview_2.svg" src="../_images/sow_overview_2.svg" width="75.0%" /></a>
190
- </div>
191
- <p><em>Updating the IBM record by matching incoming message keys</em></p>
192
- <p>Although the SOW key is derived from the content of the message in many
193
- cases, the SOW key is distinct from the content of the message. Each
194
- record in a SOW topic has a distinct SOW key, which is stored with the
195
- record. The SOW stores the full message in the message type format for
196
- performance. There is no re-serialization required to send a message
197
- to subscribers.</p>
198
- <p>By default, a topic recorded in the SOW is <em>persistent</em>. For these topics,
199
- AMPS stores the contents of the SOW for that topic in a dedicated,
200
- memory-mapped file. This means that the total SOW does not need to fit into
201
- memory, and that the contents of the SOW database are maintained across
202
- server restarts. You can also define a <em>transient</em> SOW topic, which does not
203
- store the contents of the SOW to a persisted file.</p>
204
- <p id="index-1">The SOW file is separate from the transaction log, and you do not
205
- need to configure a transaction log to use a SOW. When a transaction
206
- log is present that covers the SOW topic, on restart AMPS uses the
207
- transaction log to keep the SOW up to date. When the latest transaction
208
- in the SOW is more recent than the last transaction in the transaction
209
- log (for example, if the transaction log has been deleted), AMPS takes
210
- no action. If the transaction log has newer transactions than the SOW,
211
- AMPS replays those transactions into the SOW to bring the SOW file up
212
- to date. If the SOW file is missing or damaged, AMPS rebuilds the SOW
213
- by replaying the transaction log from the beginning of the log.</p>
214
- <div class="admonition important">
215
- <p class="first admonition-title">Important</p>
216
- <p class="last">When a SOW topic is <code class="docutils literal"><span class="pre">persistent</span></code>, each topic must be stored in
217
- a separate file. Only one instance of AMPS can access a given
218
- file; the same copy of the SOW file <em>cannot</em> be used by multiple
219
- instances of AMPS.</p>
220
- </div>
221
- <p>When the SOW for a topic is <em>transient</em>, AMPS does not store the
222
- SOW for this topic across restarts. In this case, AMPS will synchronize
223
- the SOW with the transaction log when the server starts by default.
224
- You can use the <cite>RecoveryPoint</cite> configuration option to specify that the
225
- topic should have only new publishes, or should recover from a specific
226
- point in time (for example, you could use an environment variable
227
- to provide a timestamp to the <cite>RecoveryPoint</cite> so that AMPS
228
- recovers only the last day&#8217;s worth of messages.)</p>
229
- </div>
230
- <div class="section" id="queries">
231
- <h2>Queries<a class="headerlink" href="#queries" title="Permalink to this headline">¶</a></h2>
232
- <p id="index-2">At any point in time, applications can issue SOW queries to retrieve all
233
- of the messages that match a given topic and content filter. When a
234
- query is executed, AMPS will test each message in the SOW against the
235
- content filter specified and all messages matching the filter will be
236
- returned to the client. The topic can be a literal topic name or a
237
- regular expression pattern. For more information on issuing queries,
238
- please see <a class="reference external" href="sow_queries.html#sow-queries">SOW Queries</a>.</p>
239
- <span class="target" id="ug-generating-sow-keys"></span></div>
240
- <div class="section" id="sow-keys">
241
- <span id="index-3"></span><h2>SOW Keys<a class="headerlink" href="#sow-keys" title="Permalink to this headline">¶</a></h2>
242
- <p>This section describes AMPS SOW keys in detail, including information on
243
- how AMPS generates SOW keys and considerations for applications that
244
- generate SOW keys. An individual SOW topic may use either AMPS-generated
245
- SOW keys or user-generated SOW keys. Every message in the SOW must use
246
- the same type of key generation.</p>
247
- <p>Regardless of how the SOW key is generated, AMPS creates an opaque value
248
- from the SOW key and uses this value for efficient lookup internally.
249
- For SOW keys that AMPS generates, this opaque value is returned in the
250
- message header for SOW messages and is used in commands that reference
251
- SOW keys. When the SOW key is provided with a message, AMPS returns the
252
- original value in the SOW key header, and the original value is used in
253
- commands that reference SOW keys.</p>
254
- <p>For topics that have a SOW key (including views and conflated topics),
255
- commands that directly use the SOW for a topic (for example, <code class="docutils literal"><span class="pre">sow</span></code>,
256
- <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code>, <code class="docutils literal"><span class="pre">sow_delete</span></code>) can provide a SOW key, or a set
257
- of SOW keys with the command. When a set of SOW keys is provided with
258
- one of these commands, the command will only operate on messages that
259
- have a SOW key in the provided set.</p>
260
- <div class="section" id="amps-generated-sow-keys">
261
- <h3>AMPS-Generated SOW Keys<a class="headerlink" href="#amps-generated-sow-keys" title="Permalink to this headline">¶</a></h3>
262
- <p>AMPS-generated SOW keys are often the easiest and most reliable way to
263
- define the SOW key for a message. The advantages of this approach are
264
- that AMPS handles all of the mechanics of generating the key, the key
265
- will always match the data in the message, and there is no need for a
266
- publisher to be concerned with how AMPS assigns the key. The publisher
267
- simply publishes messages, and AMPS handles all of the details.</p>
268
- <p>AMPS generates SOW keys based on the message content when you define one
269
- or more <code class="docutils literal"><span class="pre">Key</span></code> fields in the SOW configuration. For example, if your
270
- SOW tracks unique orders that are identified by an <code class="docutils literal"><span class="pre">orderId</span></code> field in
271
- the message, you could provide the following <code class="docutils literal"><span class="pre">Key</span></code> element in your SOW
272
- configuration:</p>
273
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Key&gt;</span>/orderId<span class="nt">&lt;/Key&gt;</span>
274
- </pre></div>
275
- </div>
276
- <p>This configuration item tells AMPS to use that field of the message to
277
- generate SOW keys. AMPS supports composite SOW keys when multiple <code class="docutils literal"><span class="pre">Key</span></code>
278
- elements are provided. For example, the following configuration
279
- specifies that every unique combination of <code class="docutils literal"><span class="pre">/orderId</span></code> and
280
- <code class="docutils literal"><span class="pre">/customerId</span></code> is a unique record in the SOW:</p>
281
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;Key&gt;</span>/orderId<span class="nt">&lt;/Key&gt;</span>
282
- <span class="nt">&lt;Key&gt;</span>/customerId<span class="nt">&lt;/Key&gt;</span>
283
- </pre></div>
284
- </div>
285
- <p>When AMPS generates a key, it creates the key based on the <em>key domain</em>
286
- (which is the name of the topic by default) and the values of the fields
287
- specified as SOW keys. AMPS concatenates these values together with a
288
- unique separator and then calculates a checksum over the value. This
289
- ensures that different values create different keys, and ensures that
290
- records in different topics have different keys.</p>
291
- <p>In some cases, you may need AMPS to calculate consistent SOW key values
292
- for identical messages even when the messages are published to different
293
- topics. The SOW topic definition allows you to set an explicit key
294
- domain in the configuration, which AMPS will use instead of the topic
295
- name when generating SOW keys. For example, if your application uses the
296
- <code class="docutils literal"><span class="pre">orderId</span></code> field of a message as a SOW key in both a <code class="docutils literal"><span class="pre">ShippingStatus</span></code>
297
- topic and an <code class="docutils literal"><span class="pre">OpenOrders</span></code> topic, having AMPS generate a consistent key
298
- for the same <code class="docutils literal"><span class="pre">orderId</span></code> value may make it easier to correlate messages
299
- from those topics in your application. By setting the same <code class="docutils literal"><span class="pre">KeyDomain</span></code>
300
- value in the Topic configuration for those SOW topics, you can ensure
301
- that AMPS generates consistent SOW keys for the same order ID across
302
- topics.</p>
303
- <p>An application should treat SOW keys generated with the AMPS default SOW
304
- key generator as opaque tokens. The value of a generated SOW key is
305
- guaranteed to be consistent for the same fields, values, and key domain.
306
- However, an application should not make assumptions as to the specific
307
- value that the AMPS default key generator will produce from a given set
308
- of values. If an application requires a specific value for the SOW key,
309
- the application should generate a SOW key, as described in the following
310
- section.</p>
311
- <div class="section" id="using-enrichment-with-sow-keys">
312
- <h4>Using Enrichment with SOW Keys<a class="headerlink" href="#using-enrichment-with-sow-keys" title="Permalink to this headline">¶</a></h4>
313
- <p>The preprocessor phase of AMPS enrichment occurs before AMPS generates
314
- SOW keys for a message. You can use this phase of enrichment to
315
- construct fields that are then used to generate the SOW key for a message.</p>
316
- </div>
317
- <div class="section" id="customizing-amps-generated-sow-keys">
318
- <h4>Customizing AMPS-Generated SOW Keys<a class="headerlink" href="#customizing-amps-generated-sow-keys" title="Permalink to this headline">¶</a></h4>
319
- <p>AMPS allows you to customize how the server generates SOW keys for a
320
- topic. To customize SOW key generation, you implement a SOW key
321
- generator module and specify that the module should be used to generate
322
- keys for that SOW topic.</p>
323
- <p>To use a custom SOW key generator, you first load the module in the
324
- <code class="docutils literal"><span class="pre">Modules</span></code> section of the configuration file, then specify the module
325
- as the <code class="docutils literal"><span class="pre">KeyGenerator</span></code> for the SOW topic.</p>
326
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;AMPSConfig&gt;</span>
327
- ...
328
-
329
- <span class="c">&lt;!-- load the module --&gt;</span>
330
- <span class="nt">&lt;Modules&gt;</span>
331
- <span class="nt">&lt;Module&gt;</span>
332
- <span class="nt">&lt;Name&gt;</span>key-generator<span class="nt">&lt;/Name&gt;</span>
333
- <span class="nt">&lt;Library&gt;</span>libmy_key_generator.so<span class="nt">&lt;/Library&gt;</span>
334
- <span class="nt">&lt;/Module&gt;</span>
335
- <span class="nt">&lt;/Modules&gt;</span>
336
-
337
- <span class="c">&lt;!-- use the module to generate keys --&gt;</span>
338
- <span class="nt">&lt;SOW&gt;</span>
339
- <span class="nt">&lt;Topic&gt;</span>
340
- <span class="nt">&lt;Name&gt;</span>custom-keyed-sow<span class="nt">&lt;/Name&gt;</span>
341
- <span class="nt">&lt;FileName&gt;</span>./sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
342
- <span class="nt">&lt;KeyGenerator&gt;</span>
343
- <span class="nt">&lt;Module&gt;</span>key-generator<span class="nt">&lt;/Module&gt;</span>
344
- <span class="nt">&lt;Options&gt;</span>
345
- <span class="nt">&lt;OptionOne&gt;</span>module-specific-option<span class="nt">&lt;/OptionOne&gt;</span>
346
- <span class="nt">&lt;OptionTwo&gt;</span>another-specific-option<span class="nt">&lt;/OptionTwo&gt;</span>
347
- <span class="nt">&lt;/Options&gt;</span>
348
- <span class="nt">&lt;/KeyGenerator&gt;</span>
349
- <span class="nt">&lt;/Topic&gt;</span>
350
- <span class="nt">&lt;/SOW&gt;</span>
351
-
352
- ...
353
- <span class="nt">&lt;/AMPSConfig&gt;</span>
354
- </pre></div>
355
- </div>
356
- <p>For information on implementing a custom SOW key generator, contact
357
- 60East support for the AMPS Server SDK.</p>
358
- </div>
359
- </div>
360
- <div class="section" id="user-generated-sow-keys">
361
- <h3>User-Generated SOW Keys<a class="headerlink" href="#user-generated-sow-keys" title="Permalink to this headline">¶</a></h3>
362
- <p>AMPS allows applications to explicitly generate and assign SOW keys. In
363
- this case, the publisher calculates the SOW key for the message and
364
- includes that key in the message when it is published. AMPS does not
365
- interpret the data in the message to decide whether the message is
366
- unique: AMPS uses only the value of the SOW key.</p>
367
- <p>When using a user-generated SOW key, applications should consider the
368
- following:</p>
369
- <ul class="simple">
370
- <li>All publishers should use a consistent method for generating SOW Keys</li>
371
- <li>SOW Keys must contain only characters that are valid in Base64
372
- encoding</li>
373
- <li>The application must ensure that messages intended to be logically
374
- different do not receive the same SOW key</li>
375
- </ul>
376
- <p>User-generated SOW keys are particularly useful for the <code class="docutils literal"><span class="pre">binary</span></code>
377
- message type. For this message type, AMPS does not parse the message, so
378
- providing an explicit SOW key allows you to create a SOW that contains
379
- only <code class="docutils literal"><span class="pre">binary</span></code> messages.</p>
380
- <p>To specify that AMPS will require publishers to this topic to submit
381
- the SOW key, the <code class="docutils literal"><span class="pre">Topic</span></code> configuration does not specify any <code class="docutils literal"><span class="pre">Key</span></code>
382
- fields and does not specify a <code class="docutils literal"><span class="pre">KeyGenerator</span></code> for the topic.</p>
383
- </div>
384
- </div>
385
- <div class="section" id="sow-indexing">
386
- <span id="ug-sow-indexing"></span><span id="index-4"></span><h2>SOW Indexing<a class="headerlink" href="#sow-indexing" title="Permalink to this headline">¶</a></h2>
387
- <p>AMPS maintains indexes over SOW topics, views, and conflated topics to
388
- improve query efficiency. There are two types of indexes available:</p>
389
- <ol class="arabic simple">
390
- <li><em>Memo indexes</em> are created automatically when AMPS needs to use a
391
- particular field for a query. These indexes maintain the value of a
392
- key, and can be used for any type of query, including regular
393
- expression queries, range queries, and comparisons such as less than
394
- or greater than. You can also request that AMPS pre-create an index
395
- of this type with the <code class="docutils literal"><span class="pre">Index</span></code> directive of the SOW topic
396
- configuration.</li>
397
- <li><em>Hash indexes</em> are defined by the configuration for the topic,
398
- view or conflated topic. These indexes
399
- maintain a hash derived from the values provided for the fields in
400
- the key. When the topic is configured so that AMPS generates the SOW
401
- key, AMPS automatically creates a hash index that contains all of the
402
- fields in the SOW Key. You can create any number of hash indexes for
403
- a SOW topic, with any combination of fields. Hash index queries are
404
- significantly faster than queries using memo indexes.</li>
405
- </ol>
406
- <p>A hash index can be created using any XPath Identifier in the
407
- message. For example, if you are using a <code class="docutils literal"><span class="pre">composite-local</span></code> message
408
- type, you can create a hash index using fields from any part of the
409
- message. If you are using an <code class="docutils literal"><span class="pre">xml</span></code> message, you can create a
410
- hash index that uses the XML attributes.</p>
411
- <p>The values of hash indexes are always evaluated as strings. Hash
412
- indexes are only used for exact matches on the value of the fields or with
413
- the <code class="docutils literal"><span class="pre">IN</span></code> operator, and only for queries that use the exact set of fields
414
- in the hash index. Other operators or functions (for example,
415
- <code class="docutils literal"><span class="pre">LIKE</span></code>, <code class="docutils literal"><span class="pre">!=</span></code>, <code class="docutils literal"><span class="pre">BETWEEN</span></code>, <code class="docutils literal"><span class="pre">IS</span> <span class="pre">NULL</span></code>, <code class="docutils literal"><span class="pre">IS</span> <span class="pre">NOT</span> <span class="pre">NULL</span></code>, and so
416
- on) cannot use the hash index.</p>
417
- <p>For example, if your configuration specifies a hash index that uses
418
- the fields <code class="docutils literal"><span class="pre">/address/postalCode</span></code> and <code class="docutils literal"><span class="pre">/customerType</span></code>, a filter
419
- such as <code class="docutils literal"><span class="pre">/address/postalCode</span> <span class="pre">=</span> <span class="pre">'99705'</span> <span class="pre">AND</span> <span class="pre">/customerType</span> <span class="pre">=</span> <span class="pre">'retail'</span></code> will
420
- use the hash index. A filter such as <code class="docutils literal"><span class="pre">/address/postalCode</span> <span class="pre">=</span> <span class="pre">'99705'</span> <span class="pre">AND</span>
421
- <span class="pre">/customerType</span> <span class="pre">LIKE</span> <span class="pre">'retail|remainder'</span></code> will not use the hash index, since
422
- this filter uses the <code class="docutils literal"><span class="pre">LIKE</span></code> operator rather than exact matching.</p>
423
- <p>Starting with AMPS 5.3.1.0, AMPS will also use a hash index for a
424
- compound filter if the <em>first</em> clause in the filter is an <code class="docutils literal"><span class="pre">IN</span></code>
425
- operator that can use a hash index <em>and</em> the other comparisons
426
- in the filter are evaluated using the <code class="docutils literal"><span class="pre">AND</span></code> operator. In this
427
- case, AMPS evaluates the <code class="docutils literal"><span class="pre">IN</span></code> clause first, and executes the
428
- rest of the expression against the results of the <code class="docutils literal"><span class="pre">IN</span></code> clause.
429
- For example, a filter like <code class="docutils literal"><span class="pre">/id</span> <span class="pre">IN</span> <span class="pre">('jon',</span> <span class="pre">'jim',</span> <span class="pre">'joy')</span> <span class="pre">AND</span>
430
- <span class="pre">/price</span> <span class="pre">&gt;</span> <span class="pre">50</span></code> will use a hash index to find matching records for
431
- <code class="docutils literal"><span class="pre">/id</span></code> and then compare the matching records to the rest of the
432
- filter (in this case, a numeric comparison on <code class="docutils literal"><span class="pre">/price</span></code>). (Notice
433
- that this optimization is not available if the other comparisons use
434
- the <code class="docutils literal"><span class="pre">OR</span></code> operator.)</p>
435
- <p>AMPS uses a hash index for filters where possible. If the filter
436
- does not meet the requirements for using a hash index, AMPS uses
437
- memo indexes for the fields in the filter if those are available. If
438
- one or more of the required memo indexes is not available, AMPS
439
- creates the indexes during the query.</p>
440
- <p>If your application frequently uses queries for an exact match on a
441
- specific set of fields (for example, retrieving a set of customers by
442
- the <code class="docutils literal"><span class="pre">/address/postalCode</span></code> field), creating a hash index can
443
- significantly improve the speed of those queries.</p>
444
- </div>
445
- <div class="section" id="removing-sow-records">
446
- <span id="ug-sow-delete"></span><span id="index-5"></span><h2>Removing SOW Records<a class="headerlink" href="#removing-sow-records" title="Permalink to this headline">¶</a></h2>
447
- <p>AMPS allows applications to explicitly remove records from a SOW topic
448
- using the <code class="docutils literal"><span class="pre">sow_delete</span></code> command.</p>
449
- <p>When removing records from a SOW, there are three different ways to
450
- indicate which message, or messages, will be deleted:</p>
451
- <ol class="arabic simple">
452
- <li>Using a content filter. AMPS will delete all messages in the SOW that
453
- match the content filter. To delete every message in the SOW, use the
454
- special filter <code class="docutils literal"><span class="pre">1=1</span></code> to indicate that the filter is true for every
455
- message, regardless of the contents of the message. (In essence,
456
- AMPS runs a query to locate the records to be deleted, and then
457
- deletes the matching records.)</li>
458
- <li>Using the SOW key assigned to the message. AMPS accepts a list of SOW
459
- keys, and will remove the messages indicated by those SOW keys.</li>
460
- <li>Using message data. The application provides message data with the
461
- <code class="docutils literal"><span class="pre">sow_delete</span></code> command. AMPS parses the message data to determine the
462
- SOW key for the record that would be updated if the command were
463
- a <code class="docutils literal"><span class="pre">publish</span></code>, and deletes that record (if one exists). Notice that
464
- if the topic is configured so that publishers must provide the
465
- SOW key, the key cannot be derived from the data, which means
466
- that using message data to delete messages may not produce
467
- the expected results.</li>
468
- </ol>
469
- <p>When a record is removed from the SOW, AMPS sends an out-of-focus (OOF)
470
- message to any subscriptions that have requested OOF notifications. AMPS
471
- also updates any views that use the SOW topic, and the record will be
472
- removed from conflated topics at the next conflation interval.</p>
473
- <p>When the SOW is configured with the <code class="docutils literal"><span class="pre">History</span></code> option to enable
474
- historical queries, the <code class="docutils literal"><span class="pre">sow_delete</span></code> command removes the message from
475
- the current set of messages in the SOW. The command does not remove
476
- previously-saved versions of the message: the historical state of the
477
- SOW is unaffected by the <code class="docutils literal"><span class="pre">sow_delete</span></code>.</p>
478
- <p>The most efficient way to delete a specific message or specific set of
479
- messages is to use the SOW key that AMPS assigns, when that key is
480
- available. You can provide these keys in the <code class="docutils literal"><span class="pre">SowKeys</span></code> header (a delete
481
- by keys), or by providing a filter expression that will be evaluated as
482
- a query on the primary key or a hash index. See the <a class="reference internal" href="#ug-sow-indexing"><span class="std std-ref">SOW Indexing</span></a> section for details on how AMPS determines if a hash index or primary key can be used for a filter.</p>
483
- <p>When the SOW delete provides an example message to be deleted, AMPS parses
484
- that message to determine the SOW key and then uses that to key to delete
485
- the message, which is also relatively efficient.</p>
486
- <div class="admonition tip">
487
- <p class="first admonition-title">Tip</p>
488
- <p>Deleting a message from the SOW means that AMPS can
489
- reuse the space that the message consumed, but AMPS
490
- does not reduce the size of the storage for the topic
491
- when a message is removed. Typically, SOW topics
492
- in production reach a steady state based on the
493
- number of messages that are typically present
494
- at any given time: it is most efficient to
495
- simply make the space available for new messages.</p>
496
- <p class="last">To reduce the size of a file used to persist
497
- a topic in the SOW after messages are removed, use the
498
- <a class="reference internal" href="actions.html#ug-actions-do-compact-sow"><span class="std std-ref">compact SOW action</span></a>.
499
- Running this operation will typically reduce throughput
500
- to the topic being compacted during the process of
501
- compacting the topic, so this should only be done
502
- during a maintenance window or when reducing
503
- (or pausing) throughput to the topic would have
504
- less impact on the application than leaving
505
- the SOW file at its current size.</p>
506
- </div>
507
- </div>
508
- <div class="section" id="sow-message-expiration">
509
- <span id="index-6"></span><h2>SOW Message Expiration<a class="headerlink" href="#sow-message-expiration" title="Permalink to this headline">¶</a></h2>
510
- <p>By default, a topic in the SOW stores all distinct records until a record is
511
- explicitly deleted. For scenarios where message persistence needs to be
512
- limited in duration, AMPS provides the ability to set a time limit on
513
- the lifespan of SOW topic messages. This limit on duration is known as
514
- message expiration and can be thought of as a &#8220;Time to Live&#8221; feature for
515
- messages stored in a SOW topic.</p>
516
- <div class="section" id="usage">
517
- <h3>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h3>
518
- <p>Expiration on SOW topics is disabled by default. For AMPS to expire
519
- messages in a SOW topic, you must explicitly enable expiration on the
520
- SOW topic.</p>
521
- <p>There are two ways message expiration time can be set. First, a topic
522
- recorded in the SOW can specify a default lifespan for all messages
523
- stored for that topic. Second, each message can provide an expiration as
524
- part of the message header.</p>
525
- <p>AMPS stores the expiration time for each message individually, as a
526
- property of the message in the SOW. The expiration for a given message
527
- is first determined based on the message expiration specified in the
528
- message header. If a message has no expiration specified in the header,
529
- then the message will inherit the expiration setting for the topic
530
- expiration. If there is no message expiration and no topic expiration,
531
- then it is implicit that a SOW topic message will not expire. When an
532
- expiration of 0 is provided in the message header, this indicates that
533
- AMPS should not provide expiration for this message.</p>
534
- <div class="section" id="enabling-expiration-for-a-topic">
535
- <h4>Enabling Expiration for a Topic<a class="headerlink" href="#enabling-expiration-for-a-topic" title="Permalink to this headline">¶</a></h4>
536
- <p>AMPS configuration supports the ability to specify a default message
537
- expiration for all messages in a single SOW topic. Below is an example
538
- of a configuration section for a SOW topic definition with an
539
- expiration. <a class="reference internal" href="#ug-sow"><span class="std std-ref">State of the World (SOW)</span></a> has more detail on how to configure the
540
- SOW topic.</p>
541
- <div class="highlight-XML" id="topic-expiration-example"><div class="highlight"><pre><span></span><span class="nt">&lt;SOW&gt;</span>
542
- <span class="nt">&lt;Topic&gt;</span>
543
- <span class="nt">&lt;Name&gt;</span>ORDERS<span class="nt">&lt;/Name&gt;</span>
544
- <span class="nt">&lt;FileName&gt;</span>sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
545
-
546
- <span class="nt">&lt;Expiration&gt;</span>30s<span class="nt">&lt;/Expiration&gt;</span>
547
-
548
- <span class="nt">&lt;Key&gt;</span>/55<span class="nt">&lt;/Key&gt;</span>
549
- <span class="nt">&lt;Key&gt;</span>/109<span class="nt">&lt;/Key&gt;</span>
550
- <span class="nt">&lt;MessageType&gt;</span>fix<span class="nt">&lt;/MessageType&gt;</span>
551
- <span class="nt">&lt;/Topic&gt;</span>
552
- <span class="nt">&lt;/SOW&gt;</span>
553
- </pre></div>
554
- </div>
555
- <p><em>Topic Expiration</em></p>
556
- <p>In this case, messages with no lifetime specified on the message have a
557
- 30 second lifetime in the SOW. When a message arrives and that message
558
- has an expiration set, the message expiration on the publish
559
- overrides the default expiration for the topic. Each publish or
560
- delta publish that arrives, including an update to an existing
561
- message, updates the expiration time.</p>
562
- <p>AMPS also allows you to enable expiration on a SOW topic, but to only
563
- expire messages that have message-level expiration set:</p>
564
- <div class="highlight-XML" id="topic-expiration-no-interval-example"><div class="highlight"><pre><span></span><span class="nt">&lt;SOW&gt;</span>
565
- <span class="nt">&lt;Topic&gt;</span>
566
- <span class="nt">&lt;Name&gt;</span>ORDERS<span class="nt">&lt;/Name&gt;</span>
567
- <span class="nt">&lt;FileName&gt;</span>sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
568
-
569
- <span class="nt">&lt;Expiration&gt;</span>enabled<span class="nt">&lt;/Expiration&gt;</span>
570
-
571
- <span class="nt">&lt;Key&gt;</span>/55<span class="nt">&lt;/Key&gt;</span>
572
- <span class="nt">&lt;Key&gt;</span>/109<span class="nt">&lt;/Key&gt;</span>
573
- <span class="nt">&lt;MessageType&gt;</span>fix<span class="nt">&lt;/MessageType&gt;</span>
574
- <span class="nt">&lt;/Topic&gt;</span>
575
- <span class="nt">&lt;/SOW&gt;</span>
576
- </pre></div>
577
- </div>
578
- <p><em>Topic Expiration</em></p>
579
- <p>With this configuration file, expiration is enabled for the topic. The
580
- message lifetime is specified on each individual message. When
581
- expiration is disabled for a SOW topic, AMPS preserves any message
582
- expiration set on an individual message but does not expire messages.</p>
583
- <p>AMPS processes expirations during startup when SOW expiration is
584
- enabled. This means that any record in the SOW which needs to be expired
585
- will be expired as AMPS starts. Notice that if expiration has been disabled
586
- in the configuration file, AMPS will not process expiration for the topic.</p>
587
- </div>
588
- <div class="section" id="setting-expiration-for-a-message">
589
- <h4>Setting Expiration for a Message<a class="headerlink" href="#setting-expiration-for-a-message" title="Permalink to this headline">¶</a></h4>
590
- <p>When expiration is enabled for a topic in the SOW, each message
591
- published to that topic expires at the configured time by default.</p>
592
- <p>Individual messages have the ability to specify the expiration for that
593
- individual message. When an expiration time is provided on a message,
594
- that value overrides the default expiration set for the topic. For
595
- example, the SOW configuration for a topic might specify an expiration
596
- of 5 minutes for a pending order. For large orders, however, a publisher
597
- might explicitly prevent messages from expiring by providing a <code class="docutils literal"><span class="pre">0</span></code> for
598
- the expiration time when publishing the message.</p>
599
- <p>AMPS does not process expiration for any messages in a topic recorded in
600
- the SOW unless expiration is enabled for the topic. When expiration is
601
- not configured for a topic, messages published to that topic do not
602
- expire, regardless of the expiration setting on an individual message.</p>
603
- </div>
604
- </div>
605
- <div class="section" id="example-message-lifecycle">
606
- <h3>Example Message Lifecycle<a class="headerlink" href="#example-message-lifecycle" title="Permalink to this headline">¶</a></h3>
607
- <p>When a message arrives, AMPS calculates the expiration time for the
608
- message and stores a timestamp at which the message expires in the SOW
609
- with the message. When the message contains an expiration time, AMPS
610
- uses that time to create the timestamp. When the message does not
611
- include an expiration time, but the topic contains an expiration time,
612
- AMPS uses the topic expiration for the message. Otherwise, there is no
613
- expiration set on the message, and AMPS records a timestamp value that
614
- indicates no expiration.</p>
615
- <p>Messages in the SOW topic can receive updates before expiration. When a
616
- message is updated, the message’s expiration lifespan is reset. For
617
- example, a message is first published to a SOW topic with an expiration
618
- of 45 seconds. The message is updated 15 seconds after publication of
619
- the initial message, and the update resets the expiration to a new 45
620
- second lifespan. This process can continue for the entire lifespan of
621
- the message, causing a new 45 second lifespan renewal for the message
622
- with every update.</p>
623
- <p>If a message expires, then the message is deleted from the SOW topic.
624
- This event will trigger delete processing to be executed for the
625
- message, similar to the process of executing a <code class="docutils literal"><span class="pre">sow_delete</span></code> command on
626
- a message stored in a SOW topic.</p>
627
- <div class="section" id="recovery-and-expiration">
628
- <h4>Recovery and Expiration<a class="headerlink" href="#recovery-and-expiration" title="Permalink to this headline">¶</a></h4>
629
- <p>When using message expiration, one common scenario is that the message
630
- has an expiration set, but the AMPS instance is shut down during the
631
- lifetime of the message.</p>
632
- <p>To handle such a scenario, AMPS calculates and stores a timestamp for
633
- the expiration, as described above. Therefore, if the AMPS instance is
634
- shutdown, upon recovery the engine will check to see which messages
635
- have expired since the occurrence of the shutdown. Any expired messages
636
- will be removed from the topic as soon as possible.</p>
637
- <p>Notice that, because the timestamp is stored with each message, changing
638
- the default expiration of a SOW topic does not affect the lifetime of
639
- messages already in the SOW. Those timestamps have already been
640
- calculated, and AMPS does not recalculate them when the instance is
641
- restarted or when the defaults on the SOW topic change. If expiration is
642
- not enabled for the topic after the configuration change, AMPS does not
643
- process expirations for that topic and messages will not expire.</p>
644
- </div>
645
- <div class="section" id="replication-and-expiration">
646
- <h4>Replication and Expiration<a class="headerlink" href="#replication-and-expiration" title="Permalink to this headline">¶</a></h4>
647
- <p>Because the expiration time is stored as an attribute of each
648
- individual message, that expiration time is replicated with the
649
- message. A downstream instance that receives the message via
650
- replication does not reset or change the expiration time that
651
- is stamped on the message.</p>
652
- <p>Expiration processing happens on each individual instance.
653
- The fact that a message has expired is not replicated (this
654
- is not necessary, since the message expiration is stored as
655
- a part of the message, so each individual instance can manage
656
- expiration locally).</p>
657
- </div>
658
- </div>
659
- </div>
660
- <div class="section" id="sow-maintenance">
661
- <span id="index-7"></span><h2>SOW Maintenance<a class="headerlink" href="#sow-maintenance" title="Permalink to this headline">¶</a></h2>
662
- <p>Applications that store topics in the SOW must consider the ongoing
663
- storage needs and file management for the SOW.</p>
664
- <p>There are two aspects to SOW maintenance:</p>
665
- <ol class="arabic simple">
666
- <li>Ensuring that the host system has enough capacity to efficiently
667
- store and manage the topics in the SOW. Capacity planning guidelines
668
- are discussed in
669
- <a class="reference internal" href="operation.html#operation-deployment-capacity-planning"><span class="std std-ref">Operation and Deployment</span></a>
670
- in the operations section of this Guide.</li>
671
- <li>Setting and implementing a data retention policy for the contents of
672
- each topic in the SOW.</li>
673
- </ol>
674
- <p>The data retention policy for a topic in the SOW is determined by the
675
- needs of your application. Consider the following questions:</p>
676
- <ul>
677
- <li><p class="first">Does the topic have a data set that tends to stay at a consistent
678
- size? If so, there may be no need to explicitly manage data
679
- retention. Many AMPS applications have topics that fall into this
680
- category.</p>
681
- <p>For example, an application that uses a SOW topic to track the
682
- current price of a specific set of ticker symbols has little need to
683
- set a data retention policy. The SOW will always contain the same
684
- number of records (one for each ticker symbol), and those records
685
- will always contain data of a consistent size. The application may
686
- choose to remove a record when a symbol is removed from the set, but
687
- otherwise rely on publishers to keep the data current.</p>
688
- </li>
689
- <li><p class="first">Is the data only valid for a specific period of time after the data
690
- is published? If so, SOW expiration may be a good way to manage the
691
- SOW.</p>
692
- <p>For example, an application that needs to ensure that quotes are
693
- removed from the system after 10 minutes from the time the quote is
694
- published could use SOW expiration to remove records after 10
695
- minutes.</p>
696
- </li>
697
- <li><p class="first">Is the data valid until a certain condition becomes true? If so,
698
- having the application remove records from the SOW or using AMPS
699
- actions may be a good way to manage the SOW.</p>
700
- <p>For example, an application that needs to clear the state of the SOW
701
- every 24 hours during a maintenance window could use an action to
702
- remove those records. An application that can determine when a record
703
- is no longer needed can remove the record immediately, which means
704
- that the topic only contains data that the application needs at any
705
- given time.</p>
706
- </li>
707
- </ul>
708
- <p>Regardless of the approach an application takes, 60East recommends that
709
- every application that uses a SOW consider capacity and explicitly
710
- consider the data retention needs of each topic and the
711
- application.</p>
712
- </div>
713
- <div class="section" id="efficiently-configuring-single-message-topics">
714
- <span id="ug-regular-expression-topics"></span><h2>Efficiently Configuring Single-Message Topics<a class="headerlink" href="#efficiently-configuring-single-message-topics" title="Permalink to this headline">¶</a></h2>
715
- <p>AMPS provides a way to easily define a set of related SOW topics by specifying
716
- a <code class="docutils literal"><span class="pre">Pattern</span></code> element in the <code class="docutils literal"><span class="pre">Topic</span></code> configuration. When this element is
717
- present, AMPS creates a container SOW topic that can include a number
718
- of concrete topics. A publish to a topic name that matches the
719
- <code class="docutils literal"><span class="pre">Pattern</span></code> will be treated as an individual SOW topic within the container
720
- topic that defines the pattern. The definition of each individual topic
721
- (for example, the <code class="docutils literal"><span class="pre">Key</span></code> values defined, the hash indexes defined, and so on)
722
- is defined by the container <code class="docutils literal"><span class="pre">Topic</span></code>, and is the same for
723
- every individual topic within the container SOW topic.</p>
724
- <p>Using this approach creates a single physical topic (that is, the container
725
- is a <em>single</em> in-memory SOW topic and, when the topic is persisted,
726
- a single file) that contains records for any number of individual
727
- topic names. The topics within the container maintain the last value
728
- of each individual record within <em>each</em> of the topics. Publishers
729
- and subscribers can use these topics as though the topics were each
730
- configured individually as a <code class="docutils literal"><span class="pre">Topic</span></code> in the AMPS configuration file
731
- (with some minor behavioral differences resulting from all of the
732
- topics and messages being stored in the same data structure, as described
733
- in the following sections).</p>
734
- <p>Although AMPS treats every topic within the container SOW topic as
735
- a distinct topic for the purposes of publishing and subscribing,
736
- AMPS manages those topics as records within a single SOW object. When the overall
737
- SOW topic is persisted, every message for an individual topic
738
- is stored within the same file. Likewise, the overall SOW topic
739
- is treated as a single topic in memory (including for monitoring and statistics
740
- purposes). In cases where an application has a large number of topics
741
- and each topic has a small number of messages (typically, in cases where
742
- each topic has only a single message), using a <code class="docutils literal"><span class="pre">Pattern</span></code> can
743
- use considerably less memory than individual <code class="docutils literal"><span class="pre">Topic</span></code> entries for the same
744
- number of topics and messages.</p>
745
- <div class="admonition tip">
746
- <p class="first admonition-title">Tip</p>
747
- <p>60East recommends using a <code class="docutils literal"><span class="pre">Pattern</span></code> for a topic in situations
748
- where an existing system uses topic names rather than
749
- content filtering, and it is not practical to adjust
750
- the system. For example, when migrating a legacy
751
- system that distinguishes orders for different customers
752
- using different topic names rather than using the content
753
- of the message (such as using topic names
754
- <code class="docutils literal"><span class="pre">/orders/customerA</span></code> and <code class="docutils literal"><span class="pre">/orders/customerB</span></code> rather
755
- than including a <code class="docutils literal"><span class="pre">customer</span></code> field on the message),
756
- creating a SOW topic using a <code class="docutils literal"><span class="pre">Pattern</span></code> of <code class="docutils literal"><span class="pre">^/orders/</span></code>
757
- might be the most straightforward way to adapt the system to
758
- AMPS.</p>
759
- <p class="last">For a small number of topics, or cases where an
760
- individual topic would have a large number of
761
- entries, 60East recommends using individual topics
762
- rather than specifying a <code class="docutils literal"><span class="pre">Pattern</span></code>.</p>
763
- </div>
764
- <div class="section" id="when-to-use-a-pattern-in-a-topic">
765
- <h3>When to Use a Pattern in a Topic<a class="headerlink" href="#when-to-use-a-pattern-in-a-topic" title="Permalink to this headline">¶</a></h3>
766
- <p>The <code class="docutils literal"><span class="pre">Pattern</span></code> element allows you to define a large number
767
- of SOW topics that will hold a small number or records (typically, only
768
- one record per topic) while minimizing the memory and storage overhead
769
- for each topic. This can be especially helpful when migrating
770
- a system that uses topic-based routing to AMPS, since you can easily
771
- create a large number of topics (hundreds or thousands) without
772
- having to explicitly specify each one in the AMPS configuration file
773
- in cases where it is important to query the last value of each topic.</p>
774
- <p>Consider using the <code class="docutils literal"><span class="pre">Pattern</span></code> element in cases where:</p>
775
- <ul class="simple">
776
- <li>You need to be able to query the current value of a
777
- record (or topic). If you do <em>not</em> need to query current
778
- values, there is no need to define topics in the
779
- SOW at all (consider using ad hoc topics instead).</li>
780
- <li>The information that determines whether a given message
781
- is unique is not contained in the message itself. If that
782
- information is already present in the data, it is more
783
- efficient to use a <code class="docutils literal"><span class="pre">Topic</span></code> with the unique property
784
- configured as a <code class="docutils literal"><span class="pre">Key</span></code>.</li>
785
- <li>The messages have the same structure, and are the same
786
- logical type of message. Messages that are different types,
787
- or that have different structures, would typically be
788
- represented in different topics.</li>
789
- <li>Your application requires a large number of topics, or
790
- you do not know the topics in advance, such that it is
791
- impractical to define the topics using individual <code class="docutils literal"><span class="pre">Topic</span></code>
792
- declarations.</li>
793
- <li>Each unique topic will have a small number of messages
794
- (ideally, only one message per topic).</li>
795
- <li>Your application does not require historical point in
796
- time query, or enrichment on the messages.</li>
797
- <li>All of the topics to be managed together have the same general
798
- set of permissions. AMPS does not support applying different
799
- entitlements to individual topics within an overall SOW
800
- topic (some limited workarounds are available through
801
- content filters).</li>
802
- </ul>
803
- <p>If any of the above considerations are not true, consider
804
- using a set of <code class="docutils literal"><span class="pre">Topic</span></code> declarations rather than
805
- using the <code class="docutils literal"><span class="pre">Pattern</span></code> element in a single <code class="docutils literal"><span class="pre">Topic</span></code>.</p>
806
- <p>Container topics are most commonly used when adapting a
807
- system that did not support content filtering
808
- (content-based routing) to an AMPS-based application
809
- in cases where the message data itself does not contain
810
- enough information to support content-based routing.
811
- Applications designed for AMPS most frequently use a
812
- <code class="docutils literal"><span class="pre">Topic</span></code> and content filtering rather specifying a
813
- <code class="docutils literal"><span class="pre">Pattern</span></code> for a <code class="docutils literal"><span class="pre">Topic</span></code> and providing routing
814
- information in the topic name.</p>
815
- </div>
816
- <div class="section" id="limitations-and-differences-between-topics-with-and-without-pattern">
817
- <h3>Limitations and Differences Between Topics With and Without Pattern<a class="headerlink" href="#limitations-and-differences-between-topics-with-and-without-pattern" title="Permalink to this headline">¶</a></h3>
818
- <p>For most purposes, topics that use a <code class="docutils literal"><span class="pre">Pattern</span></code> work just like any other
819
- topic defined using the <code class="docutils literal"><span class="pre">Topic</span></code> directive. However, there are some
820
- differences in behavior, as outlined below:</p>
821
- <ul class="simple">
822
- <li>When an application issues a <code class="docutils literal"><span class="pre">sow</span></code> or <code class="docutils literal"><span class="pre">sow_and_subscribe</span></code>
823
- that uses a regular expression for the topic name, messages
824
- from topics within a topic that uses <code class="docutils literal"><span class="pre">Pattern</span></code>
825
- are delivered between a <em>single</em> <code class="docutils literal"><span class="pre">group_begin</span></code> and
826
- <code class="docutils literal"><span class="pre">group_end</span></code> pair. Messages from any
827
- topic name within the topic may be delivered in any order
828
- within the query results. Each message will indicate which
829
- topic within the topic it originated from.</li>
830
- <li>A topic that uses <code class="docutils literal"><span class="pre">Pattern</span></code> <em>cannot</em> be the underlying topic
831
- for a view.</li>
832
- <li>A topic that uses <code class="docutils literal"><span class="pre">Pattern</span></code> can be the underlying topic
833
- for a conflated topic, but the conflated topic must be
834
- configured to use such a topic.</li>
835
- <li>All of the topic names within the topic must have the
836
- same permissions.</li>
837
- </ul>
838
- </div>
839
- <div class="section" id="configuration-file-precedence">
840
- <h3>Configuration File Precedence<a class="headerlink" href="#configuration-file-precedence" title="Permalink to this headline">¶</a></h3>
841
- <p>AMPS allows you to define a standalone topic, view, queue, or
842
- conflated topic with a <code class="docutils literal"><span class="pre">Name</span></code> that matches the <code class="docutils literal"><span class="pre">Pattern</span></code>
843
- of the <code class="docutils literal"><span class="pre">Topic</span></code>. To do so, however, that definition must
844
- appear in the configuration file <strong>before</strong> the definition of
845
- the topic that uses the <code class="docutils literal"><span class="pre">Pattern</span></code>. The topic, view, queue,
846
- or conflated topic will be configured as though
847
- the topic that defined the <code class="docutils literal"><span class="pre">Pattern</span></code> is not present.</p>
848
- <p>For example, the following <code class="docutils literal"><span class="pre">SOW</span></code> configuration creates
849
- a <code class="docutils literal"><span class="pre">Topic</span></code> named <code class="docutils literal"><span class="pre">/orders/specialHandling</span></code> and a
850
- <code class="docutils literal"><span class="pre">Topic</span></code> with a <code class="docutils literal"><span class="pre">Pattern</span></code> that matches <code class="docutils literal"><span class="pre">^/orders/</span></code>. The
851
- <code class="docutils literal"><span class="pre">/orders/specialHandling</span></code> topic adds preprocessing, and
852
- could also, in principle, have different permissions than
853
- the topic names that are matched by the <code class="docutils literal"><span class="pre">Pattern</span></code>.</p>
854
- <div class="highlight-xml"><div class="highlight"><pre><span></span><span class="nt">&lt;SOW&gt;</span>
855
- <span class="nt">&lt;Topic&gt;</span>
856
- <span class="nt">&lt;Name&gt;</span>/orders/specialHandling<span class="nt">&lt;/Name&gt;</span>
857
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
858
- <span class="nt">&lt;Key&gt;</span>/orderId<span class="nt">&lt;/Key&gt;</span>
859
- <span class="nt">&lt;Preprocessing&gt;</span>
860
- <span class="nt">&lt;Field&gt;</span>COALESCE(/orderId,
861
- CONCAT(/customerName, /customerSerialNumber)) as /orderId<span class="nt">&lt;/Field&gt;</span>
862
- <span class="nt">&lt;/Preprocessing&gt;</span>
863
- <span class="nt">&lt;FileName&gt;</span>./sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
864
- <span class="nt">&lt;/Topic&gt;</span>
865
-
866
- <span class="c">&lt;!-- Regular expression topic since this definition</span>
867
- <span class="c"> has a Pattern directive. --&gt;</span>
868
-
869
- <span class="nt">&lt;Topic&gt;</span>
870
- <span class="nt">&lt;Name&gt;</span>RegexOrders<span class="nt">&lt;/Name&gt;</span>
871
- <span class="nt">&lt;Pattern&gt;</span>^/orders/<span class="nt">&lt;/Pattern&gt;</span>
872
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
873
- <span class="nt">&lt;Key&gt;</span>/orderId<span class="nt">&lt;/Key&gt;</span>
874
- <span class="nt">&lt;FileName&gt;</span>./sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
875
- <span class="nt">&lt;/Topic&gt;</span>
876
- <span class="nt">&lt;/SOW&gt;</span>
877
- </pre></div>
878
- </div>
879
- <p>With these definitions, a publish to the following topic names
880
- would produce the following results:</p>
881
- <table border="1" class="docutils">
882
- <colgroup>
883
- <col width="50%" />
884
- <col width="50%" />
885
- </colgroup>
886
- <thead valign="bottom">
887
- <tr class="row-odd"><th class="head"><strong>Message Published to Topic</strong></th>
888
- <th class="head"><strong>Results</strong></th>
889
- </tr>
890
- </thead>
891
- <tbody valign="top">
892
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">/orders/specialHandling</span></code></td>
893
- <td>Matches <code class="docutils literal"><span class="pre">Topic</span></code> definition.
894
- Stored in the <code class="docutils literal"><span class="pre">Topic</span></code>.
895
- The <code class="docutils literal"><span class="pre">Preprocessing</span></code> directive runs
896
- and creates the <code class="docutils literal"><span class="pre">/orderId</span></code> from the
897
- <code class="docutils literal"><span class="pre">/customerName</span></code> and
898
- <code class="docutils literal"><span class="pre">/customerSerialNumber</span></code> if there is
899
- no <code class="docutils literal"><span class="pre">/orderId</span></code> already present.</td>
900
- </tr>
901
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">/orders/RHAT</span></code></td>
902
- <td>Matches the regular expression topic
903
- definition, stored in the regular
904
- expression topic.</td>
905
- </tr>
906
- <tr class="row-even"><td><code class="docutils literal"><span class="pre">/orders/specialHandling/oops</span></code></td>
907
- <td>Matches the regular expression topic
908
- definition, stored in the regular
909
- expression topic. Notice
910
- that a <code class="docutils literal"><span class="pre">Topic</span></code> definition is an
911
- <em>exact</em> match on the topic name, not a
912
- pattern match.</td>
913
- </tr>
914
- <tr class="row-odd"><td><code class="docutils literal"><span class="pre">/customer/orders/timothy_someone</span></code></td>
915
- <td>Does not match either the <code class="docutils literal"><span class="pre">Topic</span></code> or
916
- the regular expression topic. Not
917
- included in the SOW.</td>
918
- </tr>
919
- </tbody>
920
- </table>
921
- </div>
922
- <div class="section" id="entitlements-for-topics-with-a-pattern">
923
- <h3>Entitlements for Topics with a Pattern<a class="headerlink" href="#entitlements-for-topics-with-a-pattern" title="Permalink to this headline">¶</a></h3>
924
- <p>AMPS considers permissions for all of the individual topics within
925
- the container SOW topic to be identical. When checking permissions for
926
- the topic with an entitlement module, AMPS requests that the module provide
927
- permissions for the <code class="docutils literal"><span class="pre">Pattern</span></code> specified in the topic.
928
- Any topic name included in the container will use the permissions,
929
- entitlement filter, and entitlement select list specified by the module
930
- for that <code class="docutils literal"><span class="pre">Pattern</span></code>.</p>
931
- <p>If it becomes necessary to restrict access to individual topics within
932
- the container topic, there are two approaches that you can take:</p>
933
- <ol class="arabic simple">
934
- <li>Create a new topic with a <code class="docutils literal"><span class="pre">Pattern</span></code> that
935
- specifies the topics that require different permissions, and
936
- apply the permissions to that topic.</li>
937
- <li>Provide an entitlement filter that uses the <code class="docutils literal"><span class="pre">TOPIC_NAME()</span></code>
938
- function to restrict access to specific topic names; for example,
939
- <code class="docutils literal"><span class="pre">TOPIC_NAME()</span> <span class="pre">IN</span> <span class="pre">('/orders/RHAT',</span> <span class="pre">'/orders/MSFT',</span> <span class="pre">'/orders/IBM')</span></code>.
940
- Using this method is less efficient than providing permissions
941
- for those topics (either as standalone topics, or for a
942
- regular expression topic containing exactly those three topics),
943
- but this approach can be a good option in cases
944
- where subscribers typically subscribe only to the topics they
945
- are entitled to, different subscribers have substantially different
946
- sets of entitlements, or there are no logical or convenient groupings
947
- that can be used to separate the topics into several
948
- regular expression topic declarations.</li>
949
- </ol>
950
- </div>
951
- </div>
952
- <div class="section" id="configuration">
953
- <h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2>
954
- <p id="index-8">Topics where SOW persistence is desired are individually configured
955
- within the <code class="docutils literal"><span class="pre">SOW</span></code> section of the configuration file. Each topic will be
956
- defined with a <code class="docutils literal"><span class="pre">Topic</span></code> section enclosed within <code class="docutils literal"><span class="pre">SOW</span></code>. The <em>AMPS
957
- Configuration Reference</em> contains a description of the attributes that
958
- can be configured per topic. <code class="docutils literal"><span class="pre">TopicMetaData</span></code> is a synonym for <code class="docutils literal"><span class="pre">SOW</span></code>
959
- provided for compatibility with previous versions of AMPS. Likewise,
960
- <code class="docutils literal"><span class="pre">TopicDefinition</span></code> is a synonym for the <code class="docutils literal"><span class="pre">Topic</span></code> element of the SOW
961
- section, provided for compatibility with versions of AMPS prior to 5.0.</p>
962
- <p>For the set of configuration options available in a SOW topic, see <a class="reference external" href="../../../configuration/html/chapters/sow.html#sow-topic">SOW/Topic</a> in the <a class="reference external" href="../../../configuration/html/index.html">AMPS Configuration Reference</a>.</p>
963
- <p>The SOW cofiguration below, is an example of using <code class="docutils literal"><span class="pre">Topic</span></code> to add a SOW
964
- topic to the AMPS configuration. One topic named <code class="docutils literal"><span class="pre">ORDERS</span></code> is defined as
965
- having key <code class="docutils literal"><span class="pre">/invoice</span></code>, <code class="docutils literal"><span class="pre">/customerId</span></code> and <code class="docutils literal"><span class="pre">MessageType</span></code>
966
- of <code class="docutils literal"><span class="pre">json</span></code>. The persistence file for this topic is saved in the
967
- <code class="docutils literal"><span class="pre">sow/ORDERS.json.sow</span></code> file. For every message published to the
968
- <code class="docutils literal"><span class="pre">ORDERS</span></code> topic, a unique key will be assigned to each record with a
969
- unique combination of the fields <code class="docutils literal"><span class="pre">/invoice</span></code> and <code class="docutils literal"><span class="pre">/customerId</span></code>. A
970
- second topic named <code class="docutils literal"><span class="pre">ALERTS</span></code> is also defined with a <code class="docutils literal"><span class="pre">MessageType</span></code> of
971
- <code class="docutils literal"><span class="pre">xml</span></code> keyed off of <code class="docutils literal"><span class="pre">/client/id</span></code>. The SOW persistence file for
972
- <code class="docutils literal"><span class="pre">ALERTS</span></code> is saved in the <code class="docutils literal"><span class="pre">sow/ALERTS.xml.sow</span></code> file.</p>
973
- <div class="highlight-XML" id="sow-topic-config"><div class="highlight"><pre><span></span><span class="nt">&lt;SOW&gt;</span>
974
- <span class="nt">&lt;Topic&gt;</span>
975
- <span class="nt">&lt;Name&gt;</span>ORDERS<span class="nt">&lt;/Name&gt;</span>
976
- <span class="nt">&lt;FileName&gt;</span>sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
977
- <span class="nt">&lt;Key&gt;</span>/invoice<span class="nt">&lt;/Key&gt;</span>
978
- <span class="nt">&lt;Key&gt;</span>/customerId<span class="nt">&lt;/Key&gt;</span>
979
- <span class="nt">&lt;MessageType&gt;</span>json<span class="nt">&lt;/MessageType&gt;</span>
980
- <span class="nt">&lt;SlabSize&gt;</span>1MB<span class="nt">&lt;/SlabSize&gt;</span>
981
- <span class="nt">&lt;HashIndex&gt;</span>
982
- <span class="nt">&lt;Key&gt;</span>/region<span class="nt">&lt;/Key&gt;</span>
983
- <span class="nt">&lt;/HashIndex&gt;</span>
984
- <span class="nt">&lt;/Topic&gt;</span>
985
-
986
- <span class="nt">&lt;Topic&gt;</span>
987
- <span class="nt">&lt;Name&gt;</span>ALERTS<span class="nt">&lt;/Name&gt;</span>
988
- <span class="nt">&lt;FileName&gt;</span>sow/%n.sow<span class="nt">&lt;/FileName&gt;</span>
989
- <span class="nt">&lt;Key&gt;</span>/client/id<span class="nt">&lt;/Key&gt;</span>
990
- <span class="nt">&lt;MessageType&gt;</span>xml<span class="nt">&lt;/MessageType&gt;</span>
991
- <span class="c">&lt;!-- Pregenerate an index for the /alert/type element. This is seldom necessary,</span>
992
- <span class="c"> since AMPS will generate the index when it is needed, but the directive is included here</span>
993
- <span class="c"> for example purposes. --&gt;</span>
994
- <span class="nt">&lt;Index&gt;</span>/alert/type<span class="nt">&lt;/Index&gt;</span>
995
- <span class="nt">&lt;/Topic&gt;</span>
996
- <span class="nt">&lt;/SOW&gt;</span>
997
- </pre></div>
998
- </div>
999
- <p><em>Sample SOW Configuration</em></p>
1000
- <div class="admonition tip">
1001
- <p class="first admonition-title">Tip</p>
1002
- <p>Topics are scoped by their message type.</p>
1003
- <p>For example, two topics named Orders can be created: one which
1004
- supports <code class="docutils literal"><span class="pre">MessageType</span></code> of <code class="docutils literal"><span class="pre">json</span></code> and another which supports
1005
- <code class="docutils literal"><span class="pre">MessageType</span></code> of <code class="docutils literal"><span class="pre">xml</span></code>.</p>
1006
- <p>Each of the <code class="docutils literal"><span class="pre">MessageType</span></code> entries that are defined for the
1007
- <code class="docutils literal"><span class="pre">Orders</span></code> topic will require that <code class="docutils literal"><span class="pre">Transport</span></code> in the
1008
- configuration file can accept messages of that type. Otherwise,
1009
- there is no way for a publisher to publish messages of that type
1010
- to this instance or for a subscriber to receive messages of that
1011
- type from this instance.</p>
1012
- <p class="last">This means that messages published to the <code class="docutils literal"><span class="pre">Orders</span></code> topic must
1013
- know the type of message they are sending (<code class="docutils literal"><span class="pre">json</span></code> or <code class="docutils literal"><span class="pre">xml</span></code>)
1014
- and the port defined by the transport.</p>
1015
- </div>
1016
- </div>
1017
- </div>
1018
-
1019
-
1020
- </div>
1021
- </div>
1022
- </div>
1023
- <div class="clearer"></div>
1024
- </div>
1025
- <div class="footer">
1026
- &copy;2023 60East Technologies, Inc. (version develop).
1027
-
1028
- |
1029
- Powered by <a href="http://sphinx-doc.org/">Sphinx 1.5.3</a>
1030
- &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.10</a>
1031
-
1032
- </div>
1033
-
1034
-
1035
-
1036
-
1037
- </body>
1038
- </html>