amps-python-client 5.3.4.2__zip → 5.3.4.4__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/LICENSE +50 -39
  2. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/PKG-INFO +1 -1
  3. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/file_format_versions.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/ack-messages.doctree +0 -0
  4. amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/content-messages.doctree +0 -0
  5. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/ack-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/intro.doctree +0 -0
  6. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/logon.doctree +0 -0
  7. amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/protocol-reference.doctree +0 -0
  8. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/logon.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/publishing.doctree +0 -0
  9. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/chapters/query-delimiters.doctree +0 -0
  10. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/content-messages.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/query-subscribe.doctree +0 -0
  11. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/conflated_topics.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  12. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree → amps-python-client-5.3.4.4/docs/command-reference/doctrees/chapters/utilities.doctree +0 -0
  13. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/environment.pickle +0 -0
  14. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/doctrees/index.doctree +0 -0
  15. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/index.html +1 -1
  16. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/searchindex.js +1 -1
  17. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/.buildinfo +1 -1
  18. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/code.html +906 -484
  19. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/genindex.html +62 -10
  20. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/index.html +4 -4
  21. amps-python-client-5.3.4.4/docs/html/objects.inv +0 -0
  22. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/py-modindex.html +4 -4
  23. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/search.html +4 -4
  24. amps-python-client-5.3.4.4/docs/html/searchindex.js +1 -0
  25. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/advanced-topics.doctree +0 -0
  26. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-compiler-list.doctree +0 -0
  27. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/cpp-feature-table.doctree +0 -0
  28. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/creating-commands.doctree +0 -0
  29. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/deltas.doctree +0 -0
  30. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/error-handling.doctree +0 -0
  31. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/exceptions.doctree +0 -0
  32. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/first-program.doctree +0 -0
  33. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/high-availability.doctree +0 -0
  34. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/installing.doctree +0 -0
  35. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/introduction.doctree +0 -0
  36. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/moving-from-python-lite.doctree +0 -0
  37. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/performance-tips.doctree +0 -0
  38. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/queues.doctree +0 -0
  39. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/sow.doctree +0 -0
  40. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/subscriptions.doctree +0 -0
  41. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/chapters/utilities.doctree +0 -0
  42. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/environment.pickle +0 -0
  43. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/doctrees/index.doctree +0 -0
  44. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/index.html +1 -1
  45. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/searchindex.js +1 -1
  46. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/crankitup.doctree +0 -0
  47. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/chapters/equipment.doctree +0 -0
  48. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/environment.pickle +0 -0
  49. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/doctrees/index.doctree +0 -0
  50. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/index.html +1 -1
  51. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/searchindex.js +1 -1
  52. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/delta.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/acks.doctree +0 -0
  53. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/glossary.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/actions.doctree +0 -0
  54. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_expressions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  55. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/publishing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_expressions.doctree +0 -0
  56. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/troubleshooting.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  57. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/auxiliary_modules.doctree +0 -0
  58. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/query-subscribe.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree +0 -0
  59. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/conflated_topics.doctree +0 -0
  60. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/constructing-fields.doctree +0 -0
  61. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/actions.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/daemon.doctree +0 -0
  62. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/queues.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/delta.doctree +0 -0
  63. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/protocol-reference.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/distribution.doctree +0 -0
  64. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/replication.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  65. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/logging.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/events.doctree +0 -0
  66. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/config-file-shortcuts.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/file_format_versions.doctree +0 -0
  67. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/glossary.doctree +0 -0
  68. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/oof.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  69. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/installing_and_starting.doctree +0 -0
  70. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/events.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  71. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/securing.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/logging.doctree +0 -0
  72. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/messageTypes.doctree +0 -0
  73. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/monitoring.doctree +0 -0
  74. amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/oof.doctree +0 -0
  75. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/monitoring.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/operation.doctree +0 -0
  76. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/usecases.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/pub_sub.doctree +0 -0
  77. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/pub_sub.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/queues.doctree +0 -0
  78. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/distribution.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/replication.doctree +0 -0
  79. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/securing.doctree +0 -0
  80. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/acks.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow.doctree +0 -0
  81. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/intro.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/sow_queries.doctree +0 -0
  82. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/spark.doctree +0 -0
  83. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/sow_queries.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/transports.doctree +0 -0
  84. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/utilities.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/troubleshooting.doctree +0 -0
  85. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/chapters/txlog.doctree +0 -0
  86. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/operation.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/usecases.doctree +0 -0
  87. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/transports.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/utilities.doctree +0 -0
  88. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/daemon.doctree → amps-python-client-5.3.4.4/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  89. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/environment.pickle +0 -0
  90. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/doctrees/index.doctree +0 -0
  91. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/index.html +1 -1
  92. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/searchindex.js +1 -1
  93. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_defs.hpp +11 -1
  94. amps-python-client-5.3.4.4/include/ampspy_ssl.hpp +31 -0
  95. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspyver.h +1 -1
  96. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/index.html +1 -1
  97. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/setup.py +5 -5
  98. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/setup_amps.py +12 -4
  99. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ampspy_shims.cpp +15 -5
  100. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/client.cpp +24 -1
  101. amps-python-client-5.3.4.4/src/client_docs.h +1210 -0
  102. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/command_docs.h +10 -5
  103. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockPublishStore.hpp +0 -3
  104. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BlockStore.hpp +0 -3
  105. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Field.hpp +6 -2
  106. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClient.hpp +5 -1
  107. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HAClientImpl.hpp +37 -18
  108. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/LoggedBookmarkStore.hpp +1 -1
  109. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapStoreBuffer.hpp +24 -14
  110. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryBookmarkStore.hpp +54 -32
  111. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryStoreBuffer.hpp +4 -1
  112. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Message.hpp +10 -1
  113. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MessageRouter.hpp +8 -2
  114. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategy.hpp +2 -2
  115. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RingBookmarkStore.hpp +5 -2
  116. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/SOWRecoveryPointAdapter.hpp +15 -6
  117. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooser.hpp +15 -4
  118. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps.h +14 -0
  119. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_impl.h +14 -1
  120. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampscrc.hpp +2 -4
  121. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsplusplus.hpp +60 -35
  122. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h +2 -2
  123. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/util.hpp +77 -10
  124. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol.c +64 -20
  125. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_ssl.c +207 -80
  126. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/atfork.c +33 -0
  127. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/tcp.c +215 -49
  128. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/tcps.c +357 -269
  129. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/unix.c +93 -32
  130. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/exponentialdelaystrategy.cpp +23 -29
  131. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixeddelaystrategy.cpp +13 -12
  132. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/haclient.cpp +1 -1
  133. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/haclient_docs.h +34 -20
  134. amps-python-client-5.3.4.4/src/hybridpublishstore.cpp +275 -0
  135. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorypublishstore.cpp +141 -4
  136. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/messagestream.cpp +8 -0
  137. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixbuilder.cpp +3 -3
  138. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixbuilder_docs.h +3 -3
  139. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixshredder_docs.h +3 -3
  140. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/publishstore.cpp +128 -2
  141. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/raw_wrapper.cpp +690 -20
  142. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/serverchooser_docs.h +4 -4
  143. amps-python-client-5.3.4.2/docs/command-reference/doctrees/chapters/removing.doctree +0 -0
  144. amps-python-client-5.3.4.2/docs/html/objects.inv +0 -0
  145. amps-python-client-5.3.4.2/docs/html/searchindex.js +0 -1
  146. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps-statistics.doctree +0 -0
  147. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/amps_functions.doctree +0 -0
  148. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/enrichment.doctree +0 -0
  149. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/ha.doctree +0 -0
  150. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/intro.doctree +0 -0
  151. amps-python-client-5.3.4.2/docs/user-guide/doctrees/chapters/views.doctree +0 -0
  152. amps-python-client-5.3.4.2/src/client_docs.h +0 -956
  153. amps-python-client-5.3.4.2/src/hybridpublishstore.cpp +0 -137
  154. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/HISTORY +0 -0
  155. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/README.md +0 -0
  156. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/.buildinfo +0 -0
  157. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/ack-messages.rst.txt +0 -0
  158. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/content-messages.rst.txt +0 -0
  159. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/intro.rst.txt +0 -0
  160. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/logon.rst.txt +0 -0
  161. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/protocol-reference.rst.txt +0 -0
  162. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/publishing.rst.txt +0 -0
  163. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-delimiters.rst.txt +0 -0
  164. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/query-subscribe.rst.txt +0 -0
  165. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/removing.rst.txt +0 -0
  166. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/chapters/utilities.rst.txt +0 -0
  167. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_sources/index.rst.txt +0 -0
  168. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/ajax-loader.gif +0 -0
  169. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/alabaster.css +0 -0
  170. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/basic.css +0 -0
  171. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-bright.png +0 -0
  172. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment-close.png +0 -0
  173. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/comment.png +0 -0
  174. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/custom.css +0 -0
  175. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/doctools.js +0 -0
  176. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down-pressed.png +0 -0
  177. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/down.png +0 -0
  178. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/file.png +0 -0
  179. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.png +0 -0
  180. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/flag_logo.svg +0 -0
  181. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery-3.1.0.js +0 -0
  182. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/jquery.js +0 -0
  183. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/minus.png +0 -0
  184. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/plus.png +0 -0
  185. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/pygments.css +0 -0
  186. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/searchtools.js +0 -0
  187. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore-1.3.1.js +0 -0
  188. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/underscore.js +0 -0
  189. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up-pressed.png +0 -0
  190. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/up.png +0 -0
  191. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/_static/websupport.js +0 -0
  192. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/ack-messages.html +0 -0
  193. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/content-messages.html +0 -0
  194. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/intro.html +0 -0
  195. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/logon.html +0 -0
  196. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/protocol-reference.html +0 -0
  197. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/publishing.html +0 -0
  198. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-delimiters.html +0 -0
  199. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/query-subscribe.html +0 -0
  200. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/removing.html +0 -0
  201. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/chapters/utilities.html +0 -0
  202. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/genindex.html +0 -0
  203. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/objects.inv +0 -0
  204. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/command-reference/html/search.html +0 -0
  205. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_sources/code.rst.txt +0 -0
  206. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_sources/index.rst.txt +0 -0
  207. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/ajax-loader.gif +0 -0
  208. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/basic.css +0 -0
  209. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/classic.css +0 -0
  210. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment-bright.png +0 -0
  211. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment-close.png +0 -0
  212. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/comment.png +0 -0
  213. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/default.css +0 -0
  214. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/doctools.js +0 -0
  215. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/down-pressed.png +0 -0
  216. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/down.png +0 -0
  217. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/file.png +0 -0
  218. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/jquery-3.1.0.js +0 -0
  219. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/jquery.js +0 -0
  220. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/minus.png +0 -0
  221. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/plus.png +0 -0
  222. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/pygments.css +0 -0
  223. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/searchtools.js +0 -0
  224. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/sidebar.js +0 -0
  225. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/underscore-1.3.1.js +0 -0
  226. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/underscore.js +0 -0
  227. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/up-pressed.png +0 -0
  228. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/up.png +0 -0
  229. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/html/_static/websupport.js +0 -0
  230. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/.buildinfo +0 -0
  231. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.png +0 -0
  232. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/caution.svg +0 -0
  233. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/connection_string.svg +0 -0
  234. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.png +0 -0
  235. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/important.svg +0 -0
  236. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.png +0 -0
  237. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/tip.svg +0 -0
  238. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_images/warning.png +0 -0
  239. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/advanced-topics.rst.txt +0 -0
  240. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-compiler-list.rst.txt +0 -0
  241. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/cpp-feature-table.rst.txt +0 -0
  242. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/creating-commands.rst.txt +0 -0
  243. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/deltas.rst.txt +0 -0
  244. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/error-handling.rst.txt +0 -0
  245. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/exceptions.rst.txt +0 -0
  246. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/first-program.rst.txt +0 -0
  247. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/high-availability.rst.txt +0 -0
  248. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/installing.rst.txt +0 -0
  249. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/introduction.rst.txt +0 -0
  250. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/moving-from-python-lite.rst.txt +0 -0
  251. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/performance-tips.rst.txt +0 -0
  252. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/queues.rst.txt +0 -0
  253. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/sow.rst.txt +0 -0
  254. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/subscriptions.rst.txt +0 -0
  255. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/chapters/utilities.rst.txt +0 -0
  256. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_sources/index.rst.txt +0 -0
  257. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/ajax-loader.gif +0 -0
  258. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/alabaster.css +0 -0
  259. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/basic.css +0 -0
  260. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-bright.png +0 -0
  261. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment-close.png +0 -0
  262. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/comment.png +0 -0
  263. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/custom.css +0 -0
  264. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/doctools.js +0 -0
  265. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/down-pressed.png +0 -0
  266. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/down.png +0 -0
  267. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/file.png +0 -0
  268. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.png +0 -0
  269. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/flag_logo.svg +0 -0
  270. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery-3.1.0.js +0 -0
  271. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/jquery.js +0 -0
  272. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/minus.png +0 -0
  273. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/plus.png +0 -0
  274. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/pygments.css +0 -0
  275. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/searchtools.js +0 -0
  276. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore-1.3.1.js +0 -0
  277. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/underscore.js +0 -0
  278. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/up-pressed.png +0 -0
  279. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/up.png +0 -0
  280. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/_static/websupport.js +0 -0
  281. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/advanced-topics.html +0 -0
  282. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-compiler-list.html +0 -0
  283. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/cpp-feature-table.html +0 -0
  284. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/creating-commands.html +0 -0
  285. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/deltas.html +0 -0
  286. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/error-handling.html +0 -0
  287. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/exceptions.html +0 -0
  288. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/first-program.html +0 -0
  289. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/high-availability.html +0 -0
  290. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/installing.html +0 -0
  291. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/introduction.html +0 -0
  292. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/moving-from-python-lite.html +0 -0
  293. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/performance-tips.html +0 -0
  294. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/queues.html +0 -0
  295. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/sow.html +0 -0
  296. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/subscriptions.html +0 -0
  297. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/chapters/utilities.html +0 -0
  298. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/genindex.html +0 -0
  299. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/objects.inv +0 -0
  300. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python/html/search.html +0 -0
  301. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/.buildinfo +0 -0
  302. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/crankitup.rst.txt +0 -0
  303. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/chapters/equipment.rst.txt +0 -0
  304. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_sources/index.rst.txt +0 -0
  305. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/ajax-loader.gif +0 -0
  306. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/alabaster.css +0 -0
  307. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/basic.css +0 -0
  308. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-bright.png +0 -0
  309. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment-close.png +0 -0
  310. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/comment.png +0 -0
  311. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/custom.css +0 -0
  312. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/doctools.js +0 -0
  313. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down-pressed.png +0 -0
  314. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/down.png +0 -0
  315. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/file.png +0 -0
  316. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.png +0 -0
  317. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/flag_logo.svg +0 -0
  318. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery-3.1.0.js +0 -0
  319. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/jquery.js +0 -0
  320. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/minus.png +0 -0
  321. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/plus.png +0 -0
  322. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/pygments.css +0 -0
  323. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/searchtools.js +0 -0
  324. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore-1.3.1.js +0 -0
  325. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/underscore.js +0 -0
  326. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up-pressed.png +0 -0
  327. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/up.png +0 -0
  328. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/_static/websupport.js +0 -0
  329. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/crankitup.html +0 -0
  330. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/chapters/equipment.html +0 -0
  331. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/genindex.html +0 -0
  332. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/objects.inv +0 -0
  333. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/python-quickstart/html/search.html +0 -0
  334. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/resources/custom.css +0 -0
  335. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/resources/flag_logo.svg +0 -0
  336. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/.buildinfo +0 -0
  337. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/acks.rst.txt +0 -0
  338. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/actions.rst.txt +0 -0
  339. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps-statistics.rst.txt +0 -0
  340. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_expressions.rst.txt +0 -0
  341. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/amps_functions.rst.txt +0 -0
  342. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/auxiliary_modules.rst.txt +0 -0
  343. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/config-file-shortcuts.rst.txt +0 -0
  344. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/conflated_topics.rst.txt +0 -0
  345. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/constructing-fields.rst.txt +0 -0
  346. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/daemon.rst.txt +0 -0
  347. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/delta.rst.txt +0 -0
  348. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/distribution.rst.txt +0 -0
  349. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/enrichment.rst.txt +0 -0
  350. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/events.rst.txt +0 -0
  351. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/file_format_versions.rst.txt +0 -0
  352. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/glossary.rst.txt +0 -0
  353. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/ha.rst.txt +0 -0
  354. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/installing_and_starting.rst.txt +0 -0
  355. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/intro.rst.txt +0 -0
  356. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/logging.rst.txt +0 -0
  357. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/messageTypes.rst.txt +0 -0
  358. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/monitoring.rst.txt +0 -0
  359. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/oof.rst.txt +0 -0
  360. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/operation.rst.txt +0 -0
  361. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/pub_sub.rst.txt +0 -0
  362. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/queues.rst.txt +0 -0
  363. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/replication.rst.txt +0 -0
  364. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/securing.rst.txt +0 -0
  365. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow.rst.txt +0 -0
  366. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/sow_queries.rst.txt +0 -0
  367. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/spark.rst.txt +0 -0
  368. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/transports.rst.txt +0 -0
  369. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/troubleshooting.rst.txt +0 -0
  370. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/txlog.rst.txt +0 -0
  371. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/usecases.rst.txt +0 -0
  372. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/utilities.rst.txt +0 -0
  373. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/chapters/views.rst.txt +0 -0
  374. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_sources/index.rst.txt +0 -0
  375. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/ajax-loader.gif +0 -0
  376. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/alabaster.css +0 -0
  377. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/basic.css +0 -0
  378. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-bright.png +0 -0
  379. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment-close.png +0 -0
  380. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/comment.png +0 -0
  381. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/custom.css +0 -0
  382. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/doctools.js +0 -0
  383. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down-pressed.png +0 -0
  384. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/down.png +0 -0
  385. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/file.png +0 -0
  386. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.png +0 -0
  387. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/flag_logo.svg +0 -0
  388. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery-3.1.0.js +0 -0
  389. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/jquery.js +0 -0
  390. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/minus.png +0 -0
  391. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/plus.png +0 -0
  392. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/pygments.css +0 -0
  393. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/searchtools.js +0 -0
  394. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore-1.3.1.js +0 -0
  395. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/underscore.js +0 -0
  396. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up-pressed.png +0 -0
  397. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/up.png +0 -0
  398. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/_static/websupport.js +0 -0
  399. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/acks.html +0 -0
  400. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/actions.html +0 -0
  401. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps-statistics.html +0 -0
  402. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_expressions.html +0 -0
  403. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/amps_functions.html +0 -0
  404. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/auxiliary_modules.html +0 -0
  405. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/config-file-shortcuts.html +0 -0
  406. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/conflated_topics.html +0 -0
  407. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/constructing-fields.html +0 -0
  408. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/daemon.html +0 -0
  409. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/delta.html +0 -0
  410. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/distribution.html +0 -0
  411. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/enrichment.html +0 -0
  412. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/events.html +0 -0
  413. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/file_format_versions.html +0 -0
  414. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/glossary.html +0 -0
  415. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/ha.html +0 -0
  416. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/installing_and_starting.html +0 -0
  417. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/intro.html +0 -0
  418. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/logging.html +0 -0
  419. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/messageTypes.html +0 -0
  420. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/monitoring.html +0 -0
  421. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/oof.html +0 -0
  422. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/operation.html +0 -0
  423. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/pub_sub.html +0 -0
  424. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/queues.html +0 -0
  425. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/replication.html +0 -0
  426. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/securing.html +0 -0
  427. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow.html +0 -0
  428. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/sow_queries.html +0 -0
  429. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/spark.html +0 -0
  430. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/transports.html +0 -0
  431. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/troubleshooting.html +0 -0
  432. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/txlog.html +0 -0
  433. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/usecases.html +0 -0
  434. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/utilities.html +0 -0
  435. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/chapters/views.html +0 -0
  436. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/genindex.html +0 -0
  437. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/objects.inv +0 -0
  438. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/docs/user-guide/html/search.html +0 -0
  439. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_bookmarkstore.hpp +0 -0
  440. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_compat.h +0 -0
  441. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_recoverypointadapter.hpp +0 -0
  442. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_shims.hpp +0 -0
  443. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_type_object.hpp +0 -0
  444. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/include/ampspy_types.hpp +0 -0
  445. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSConsolePublisher.py +0 -0
  446. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSConsoleSubscriber.py +0 -0
  447. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSFIXBuilderPublisher.py +0 -0
  448. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSFIXShredderSubscriber.py +0 -0
  449. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXBuilderPublisher.py +0 -0
  450. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSNVFIXShredderSubscriber.py +0 -0
  451. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSPublishForReplay.py +0 -0
  452. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSQueueConsumer.py +0 -0
  453. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSQueuePublisher.py +0 -0
  454. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsolePublisher.py +0 -0
  455. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWConsoleSubscriber.py +0 -0
  456. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeConsoleSubscriber.py +0 -0
  457. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSOWandSubscribeWithOOF.py +0 -0
  458. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSSubscribeForReplay.py +0 -0
  459. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/AMPSUpdateForOOF.py +0 -0
  460. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/CompositeMessagePublisher.py +0 -0
  461. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/CompositeMessageSubscriber.py +0 -0
  462. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/RandomServerChooser.py +0 -0
  463. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/samples/sample.xml +0 -0
  464. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ampspy_type_object.cpp +0 -0
  465. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/authenticator.cpp +0 -0
  466. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/bookmarkstore.cpp +0 -0
  467. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cmessagehandler.cpp +0 -0
  468. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/command.cpp +0 -0
  469. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/compositemessagebuilder.cpp +0 -0
  470. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/compositemessageparser.cpp +0 -0
  471. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/conflatingrecoverypointadapter.cpp +0 -0
  472. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/BookmarkStore.hpp +0 -0
  473. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/Buffer.hpp +0 -0
  474. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageBuilder.hpp +0 -0
  475. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/CompositeMessageParser.hpp +0 -0
  476. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/DefaultServerChooser.hpp +0 -0
  477. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/HybridPublishStore.hpp +0 -0
  478. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MMapBookmarkStore.hpp +0 -0
  479. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemoryPublishStore.hpp +0 -0
  480. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/MemorySubscriptionManager.hpp +0 -0
  481. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/PublishStore.hpp +0 -0
  482. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ReconnectDelayStrategyImpl.hpp +0 -0
  483. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPoint.hpp +0 -0
  484. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/RecoveryPointAdapter.hpp +0 -0
  485. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ServerChooserImpl.hpp +0 -0
  486. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_generated.h +0 -0
  487. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/amps_ssl.h +0 -0
  488. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsuri.h +0 -0
  489. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/ampsver.h.in +0 -0
  490. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/include/amps/constants.hpp +0 -0
  491. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/amps_protocol_generated.h +0 -0
  492. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/client.c +0 -0
  493. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/makefile +0 -0
  494. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/message.c +0 -0
  495. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/message_generated.h +0 -0
  496. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/transports.c +0 -0
  497. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/cpp/src/uri.c +0 -0
  498. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/failedwritehandler.cpp +0 -0
  499. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixbuilder.cpp +0 -0
  500. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixshredder.cpp +0 -0
  501. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/fixshredder_docs.h +0 -0
  502. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/hybridpublishstore_docs.h +0 -0
  503. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorybookmarkstore.cpp +0 -0
  504. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorybookmarkstore_docs.h +0 -0
  505. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/memorypublishstore_docs.h +0 -0
  506. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/message.cpp +0 -0
  507. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/message_docs.h +0 -0
  508. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/messagestream_docs.h +0 -0
  509. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/mmapbookmarkstore.cpp +0 -0
  510. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/nvfixshredder.cpp +0 -0
  511. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/reason.cpp +0 -0
  512. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/recoverypoint.cpp +0 -0
  513. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/recoverypointadapter.cpp +0 -0
  514. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/ringbookmarkstore.cpp +0 -0
  515. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/serverchooser.cpp +0 -0
  516. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/sowrecoverypointadapter.cpp +0 -0
  517. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/store.cpp +0 -0
  518. {amps-python-client-5.3.4.2 → amps-python-client-5.3.4.4}/src/versioninfo.cpp +0 -0
@@ -57,6 +57,7 @@
57
57
  /* function pointers for openssl functions */
58
58
  void (*_amps_SSL_library_init)(void);
59
59
  void (*_amps_SSL_load_error_strings)(void);
60
+ void (*_amps_ERR_free_strings)(void);
60
61
  unsigned long (*_amps_ERR_get_error)(void);
61
62
  void (*_amps_ERR_error_string_n)(unsigned long, char*, size_t);
62
63
  void (*_amps_ERR_clear_error)(void);
@@ -87,8 +88,8 @@ char _amps_ssl_initialization_error[ERROR_BUFFER_LENGTH];
87
88
 
88
89
  #ifdef _WIN32
89
90
  typedef int (*local_proc)(void);
90
- HMODULE _amps_ssl_libeay_handle;
91
- HMODULE _amps_ssl_ssleay_handle;
91
+ HMODULE _amps_crypto_library_handle = 0;
92
+ HMODULE _amps_ssl_library_handle = 0;
92
93
  #define AMPS_strcpy strcpy_s
93
94
 
94
95
  void _amps_get_last_error(char* buffer, size_t length)
@@ -113,35 +114,37 @@ void _amps_get_last_error(char* buffer, size_t length)
113
114
  NULL);
114
115
  }
115
116
  }
116
- #define LOAD_AMPS_LIBEAY_FUNCTION(name) \
117
- *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_libeay_handle,#name); \
118
- if(!_amps_##name) \
119
- { \
120
- _amps_get_last_error(errorBuffer, ERROR_BUFFER_LENGTH); \
121
- _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
122
- ERROR_BUFFER_LENGTH, \
123
- "Error locating SSL procedure %s: %s", \
124
- #name, \
125
- errorBuffer); \
126
- return -1; \
117
+ #define LOAD_AMPS_LIBEAY_FUNCTION(name) \
118
+ *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_crypto_library_handle,#name); \
119
+ if(!_amps_##name) \
120
+ { \
121
+ _amps_get_last_error(errorBuffer, ERROR_BUFFER_LENGTH); \
122
+ _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
123
+ ERROR_BUFFER_LENGTH, \
124
+ "Error locating CRYPTO procedure %s: %s", \
125
+ #name, \
126
+ errorBuffer); \
127
+ _amps_crypto_library_handle = 0; \
128
+ return -1; \
127
129
  }
128
- #define LOAD_AMPS_SSLEAY_FUNCTION(name) \
129
- *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_ssleay_handle,#name); \
130
- if(!_amps_##name) \
131
- { \
132
- _amps_get_last_error(errorBuffer, ERROR_BUFFER_LENGTH); \
133
- _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
134
- ERROR_BUFFER_LENGTH, \
135
- "Error locating SSL procedure %s: %s", \
136
- #name, \
137
- errorBuffer); \
138
- return -1; \
130
+ #define LOAD_AMPS_SSLEAY_FUNCTION(name) \
131
+ *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_library_handle,#name); \
132
+ if(!_amps_##name) \
133
+ { \
134
+ _amps_get_last_error(errorBuffer, ERROR_BUFFER_LENGTH); \
135
+ _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
136
+ ERROR_BUFFER_LENGTH, \
137
+ "Error locating SSL procedure %s: %s", \
138
+ #name, \
139
+ errorBuffer); \
140
+ _amps_ssl_library_handle = 0; \
141
+ return -1; \
139
142
  }
140
- #define LOAD_AMPS_LIBEAY_FUNCTION_OPTIONAL(name) \
141
- *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_libeay_handle,#name);
143
+ #define LOAD_AMPS_LIBEAY_FUNCTION_OPTIONAL(name) \
144
+ *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_crypto_library_handle,#name);
142
145
 
143
- #define LOAD_AMPS_SSLEAY_FUNCTION_OPTIONAL(name) \
144
- *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_ssleay_handle,#name);
146
+ #define LOAD_AMPS_SSLEAY_FUNCTION_OPTIONAL(name) \
147
+ *((FARPROC*)&_amps_##name) = GetProcAddress(_amps_ssl_library_handle,#name);
145
148
 
146
149
  int _amps_ssl_load(const char* dllPath_)
147
150
  {
@@ -153,11 +156,10 @@ int _amps_ssl_load(const char* dllPath_)
153
156
  /* attempt to locate via GetModuleHandle since it
154
157
  * may already be loaded
155
158
  */
156
- _amps_ssl_ssleay_handle = (HMODULE) GetModuleHandle(dllPath_);
157
- if (!_amps_ssl_ssleay_handle)
159
+ if (!GetModuleHandleExA(0, dllPath_, &_amps_ssl_library_handle))
158
160
  {
159
- _amps_ssl_ssleay_handle = (HMODULE) LoadLibraryExA(dllPath_, NULL, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
160
- if (!_amps_ssl_ssleay_handle)
161
+ _amps_ssl_library_handle = (HMODULE) LoadLibraryExA(dllPath_, NULL, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
162
+ if (!_amps_ssl_library_handle)
161
163
  {
162
164
  _amps_get_last_error(errorBuffer, ERROR_BUFFER_LENGTH);
163
165
  _AMPS_SNPRINTF(_amps_ssl_initialization_error, ERROR_BUFFER_LENGTH,
@@ -174,27 +176,39 @@ int _amps_ssl_load(const char* dllPath_)
174
176
  * specify a ssleay32.dll path or at least filename,
175
177
  * we won't default to looking around ourselves.
176
178
  */
177
- _amps_ssl_ssleay_handle = LoadLibrary("ssleay32.dll");
178
- if (!_amps_ssl_ssleay_handle)
179
+ _amps_ssl_library_handle = LoadLibrary("libssl-3.dll");
180
+ if (!_amps_ssl_library_handle)
179
181
  {
180
- _amps_ssl_ssleay_handle = LoadLibrary("libssl-1_1-x64.dll");
182
+ _amps_ssl_library_handle = LoadLibrary("libssl-1_1.dll");
181
183
  }
182
- if (!_amps_ssl_ssleay_handle)
184
+ if (!_amps_ssl_library_handle)
183
185
  {
184
- _amps_ssl_ssleay_handle = LoadLibrary("libssl-1_1-x86.dll");
186
+ _amps_ssl_library_handle = LoadLibrary("libssl-1_1-x64.dll");
185
187
  }
186
- #else
187
- _amps_ssl_ssleay_handle = GetModuleHandle("ssleay32.dll");
188
- if (!_amps_ssl_ssleay_handle)
188
+ if (!_amps_ssl_library_handle)
189
189
  {
190
- _amps_ssl_ssleay_handle = GetModuleHandle("libssl-1_1-x64.dll");
190
+ _amps_ssl_library_handle = LoadLibrary("libssl-1_1-x86.dll");
191
191
  }
192
- if (!_amps_ssl_ssleay_handle)
192
+ if (!_amps_ssl_library_handle)
193
+ {
194
+ _amps_ssl_library_handle = LoadLibrary("ssleay32.dll");
195
+ }
196
+ #else
197
+ if (!GetModuleHandleExA(0, "libssl-3.dll", &_amps_ssl_library_handle))
193
198
  {
194
- _amps_ssl_ssleay_handle = GetModuleHandle("libssl-1_1-x86.dll");
199
+ if (!GetModuleHandleExA(0, "libssl-1_1.dll", &_amps_ssl_library_handle))
200
+ {
201
+ if (!GetModuleHandleExA(0, "libssl-1_1-x64.dll", &_amps_ssl_library_handle))
202
+ {
203
+ if (!GetModuleHandleExA(0, "libssl-1_1-x86.dll", &_amps_ssl_library_handle))
204
+ {
205
+ GetModuleHandleExA(0, "ssleay32.dll", &_amps_ssl_library_handle);
206
+ }
207
+ }
208
+ }
195
209
  }
196
210
  #endif
197
- if (!_amps_ssl_ssleay_handle)
211
+ if (!_amps_ssl_library_handle)
198
212
  {
199
213
  _AMPS_SNPRINTF(_amps_ssl_initialization_error, ERROR_BUFFER_LENGTH,
200
214
  "AMPS ssl_init() must be called with the path to " \
@@ -204,28 +218,34 @@ int _amps_ssl_load(const char* dllPath_)
204
218
  }
205
219
  }
206
220
 
207
- /* Should have been loaded by ssleay32.dll loading if necessary */
208
- _amps_ssl_libeay_handle = GetModuleHandle("libeay32.dll");
209
- if (!_amps_ssl_libeay_handle)
210
- {
211
- _amps_ssl_libeay_handle = GetModuleHandle("libcrypto-1_1-x64.dll");
212
- }
213
-
214
- if (!_amps_ssl_libeay_handle)
215
- {
216
- _amps_ssl_libeay_handle = GetModuleHandle("libcrypto-1_1-x86.dll");
217
- }
218
-
219
- if (!_amps_ssl_libeay_handle)
221
+ if (!_amps_crypto_library_handle)
220
222
  {
221
- _AMPS_SNPRINTF(_amps_ssl_initialization_error, ERROR_BUFFER_LENGTH,
222
- "The OpenSSL modules libeay32.dll, libcrypto-1_1-x64.dll, libcrypto-1_1-x86.dll"
223
- " were not loaded.");
224
- return -1;
223
+ /* Should have been loaded by ssleay32.dll loading if necessary */
224
+ if (!GetModuleHandleExA(0, "libcrypto-3.dll", &_amps_crypto_library_handle))
225
+ {
226
+ if (!GetModuleHandleExA(0, "libcrypto-1_1.dll", &_amps_crypto_library_handle))
227
+ {
228
+ if (!GetModuleHandleExA(0, "libcrypto-1_1-x64.dll", &_amps_crypto_library_handle))
229
+ {
230
+ if (!GetModuleHandleExA(0, "libcrypto-1_1-x86.dll", &_amps_crypto_library_handle))
231
+ {
232
+ if (!GetModuleHandleExA(0, "libeay32.dll", &_amps_crypto_library_handle))
233
+ {
234
+ _AMPS_SNPRINTF(_amps_ssl_initialization_error, ERROR_BUFFER_LENGTH,
235
+ "The OpenSSL modules libeay32.dll, "
236
+ "libcrypto-1_1.dll, libcrypto-1_1-x64.dll were "
237
+ "libcrypto-1_1-x86.dll not loaded.");
238
+ return -1;
239
+ }
240
+ }
241
+ }
242
+ }
243
+ }
225
244
  }
226
245
 
227
246
  LOAD_AMPS_SSLEAY_FUNCTION_OPTIONAL(SSL_library_init);
228
247
  LOAD_AMPS_SSLEAY_FUNCTION_OPTIONAL(SSL_load_error_strings);
248
+ LOAD_AMPS_LIBEAY_FUNCTION_OPTIONAL(ERR_free_strings);
229
249
  LOAD_AMPS_LIBEAY_FUNCTION(ERR_get_error);
230
250
  LOAD_AMPS_LIBEAY_FUNCTION(ERR_error_string_n);
231
251
  LOAD_AMPS_LIBEAY_FUNCTION(ERR_clear_error);
@@ -254,25 +274,54 @@ int _amps_ssl_load(const char* dllPath_)
254
274
  #else
255
275
 
256
276
  void* _amps_ssl_library_handle = 0;
277
+ void* _amps_crypto_library_handle = 0;
257
278
 
258
279
  #define AMPS_strcpy(x, y, z) strcpy(x, z)
259
- #define LOAD_AMPS_SSL_FUNCTION_OPTIONAL(name) \
280
+ #define LOAD_AMPS_SSL_FUNCTION_OPTIONAL(name) \
260
281
  _amps_##name = dlsym(_amps_ssl_library_handle,#name);
261
282
 
262
- #define LOAD_AMPS_SSL_FUNCTION(name) \
263
- _amps_##name = dlsym(_amps_ssl_library_handle,#name); \
264
- if(!_amps_##name) \
265
- { \
266
- _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
267
- ERROR_BUFFER_LENGTH, \
268
- "Error loading SSL module: %s", \
269
- dlerror()); \
270
- return -1; \
283
+ #define LOAD_AMPS_SSL_FUNCTION(name) \
284
+ _amps_##name = dlsym(_amps_ssl_library_handle,#name); \
285
+ if(!_amps_##name) \
286
+ { \
287
+ _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
288
+ ERROR_BUFFER_LENGTH, \
289
+ "Error loading SSL module: %s", \
290
+ dlerror()); \
291
+ _amps_ssl_library_handle = 0; \
292
+ return -1; \
293
+ }
294
+
295
+ #define LOAD_AMPS_CRYPTO_FUNCTION_OPTIONAL(name) \
296
+ _amps_##name = dlsym(_amps_ssl_library_handle,#name); \
297
+ if (_amps_crypto_library_handle && !_amps_##name) \
298
+ { \
299
+ _amps_##name = dlsym(_amps_crypto_library_handle,#name); \
300
+ }
301
+
302
+ #define LOAD_AMPS_CRYPTO_FUNCTION(name) \
303
+ _amps_##name = dlsym(_amps_ssl_library_handle,#name); \
304
+ if (_amps_crypto_library_handle && !_amps_##name) \
305
+ { \
306
+ _amps_##name = dlsym(_amps_crypto_library_handle,#name); \
307
+ } \
308
+ if(!_amps_##name) \
309
+ { \
310
+ _AMPS_SNPRINTF(_amps_ssl_initialization_error, \
311
+ ERROR_BUFFER_LENGTH, \
312
+ "Error loading CRYPTO module: %s", \
313
+ dlerror()); \
314
+ _amps_crypto_library_handle = 0; \
315
+ return -1; \
271
316
  }
272
317
 
273
318
  int _amps_ssl_load(const char* dllPath_)
274
319
  {
275
320
  _amps_ssl_initialization_error[0] = '\0';
321
+ if (_amps_ssl_library_handle && _amps_crypto_library_handle)
322
+ {
323
+ return 0;
324
+ }
276
325
  if (dllPath_)
277
326
  {
278
327
  _amps_ssl_library_handle = dlopen(dllPath_, RTLD_LOCAL | RTLD_LAZY);
@@ -284,19 +333,56 @@ int _amps_ssl_load(const char* dllPath_)
284
333
  dlerror());
285
334
  return -1;
286
335
  }
336
+ size_t dllPathLen = strlen(dllPath_);
337
+ const char* ssl = strstr(dllPath_, "ssl");
338
+ if (!ssl)
339
+ {
340
+ _amps_crypto_library_handle = AMPS_RTLD_DEFAULT;
341
+ }
342
+ else
343
+ {
344
+ const char* nextSsl = strstr(ssl+1, "ssl");
345
+ while (nextSsl)
346
+ {
347
+ ssl = nextSsl;
348
+ nextSsl = strstr(ssl+1, "ssl");
349
+ }
350
+ char* cryptoPath = (char*) malloc(dllPathLen + 4);
351
+ size_t offset = (size_t)(ssl - dllPath_);
352
+ memcpy(cryptoPath, dllPath_, offset);
353
+ memcpy(cryptoPath + offset, "crypto", 6);
354
+ memcpy(cryptoPath + offset + 6, ssl + 3, dllPathLen - offset - 3);
355
+ cryptoPath[dllPathLen + 3] = '\0';
356
+ _amps_crypto_library_handle = dlopen(cryptoPath, RTLD_LOCAL | RTLD_LAZY);
357
+ if (!_amps_crypto_library_handle)
358
+ {
359
+ // If it's a python module, use it for both
360
+ if (strstr(dllPath_, "python"))
361
+ {
362
+ _amps_crypto_library_handle = _amps_ssl_library_handle;
363
+ }
364
+ else
365
+ {
366
+ _amps_crypto_library_handle = AMPS_RTLD_DEFAULT;
367
+ }
368
+ }
369
+ free(cryptoPath);
370
+ }
287
371
  }
288
372
  else
289
373
  {
290
374
  _amps_ssl_library_handle = AMPS_RTLD_DEFAULT;
375
+ _amps_crypto_library_handle = AMPS_RTLD_DEFAULT;
291
376
  }
292
377
 
293
378
  LOAD_AMPS_SSL_FUNCTION_OPTIONAL(SSL_library_init);
294
379
  LOAD_AMPS_SSL_FUNCTION_OPTIONAL(SSL_load_error_strings);
295
- LOAD_AMPS_SSL_FUNCTION(ERR_get_error);
296
- LOAD_AMPS_SSL_FUNCTION(ERR_error_string_n);
297
- LOAD_AMPS_SSL_FUNCTION(ERR_clear_error);
298
- LOAD_AMPS_SSL_FUNCTION_OPTIONAL(CRYPTO_num_locks);
299
- LOAD_AMPS_SSL_FUNCTION_OPTIONAL(CRYPTO_set_locking_callback);
380
+ LOAD_AMPS_SSL_FUNCTION_OPTIONAL(ERR_free_strings);
381
+ LOAD_AMPS_CRYPTO_FUNCTION(ERR_get_error);
382
+ LOAD_AMPS_CRYPTO_FUNCTION(ERR_error_string_n);
383
+ LOAD_AMPS_CRYPTO_FUNCTION(ERR_clear_error);
384
+ LOAD_AMPS_CRYPTO_FUNCTION_OPTIONAL(CRYPTO_num_locks);
385
+ LOAD_AMPS_CRYPTO_FUNCTION_OPTIONAL(CRYPTO_set_locking_callback);
300
386
  LOAD_AMPS_SSL_FUNCTION_OPTIONAL(SSLv23_client_method);
301
387
  LOAD_AMPS_SSL_FUNCTION_OPTIONAL(TLS_client_method);
302
388
  LOAD_AMPS_SSL_FUNCTION(SSL_CTX_new);
@@ -320,14 +406,18 @@ int _amps_ssl_load(const char* dllPath_)
320
406
 
321
407
  /****************** THREADING SUPPORT *********************/
322
408
  #ifdef _WIN32
323
- CRITICAL_SECTION* _amps_ssl_mutexes;
409
+ CRITICAL_SECTION* _amps_ssl_mutexes = 0;
324
410
  #else
325
- pthread_mutex_t* _amps_ssl_mutexes;
411
+ pthread_mutex_t* _amps_ssl_mutexes = 0;
326
412
  #endif
327
- size_t _amps_ssl_mutex_count;
413
+ size_t _amps_ssl_mutex_count = 0;
328
414
 
329
415
  void amps_ssl_locking_callback(int mode_, int n_, const char* filename_, int line_)
330
416
  {
417
+ if (!_amps_ssl_mutexes)
418
+ {
419
+ return;
420
+ }
331
421
  if (mode_ & AMPS_CRYPTO_LOCK) /* CRYPTO_LOCK == 0x01 */
332
422
  {
333
423
  #ifdef _WIN32
@@ -416,6 +506,10 @@ AMPSDLL int amps_ssl_init(const char* dllPath_)
416
506
  return -1;
417
507
  }
418
508
  _amps_SSL_load_error_strings();
509
+ if (_amps_ERR_free_strings)
510
+ {
511
+ atexit(_amps_ERR_free_strings);
512
+ }
419
513
  _amps_SSL_library_init();
420
514
  amps_ssl_setup_threading_functions();
421
515
  sslMethod = _amps_SSLv23_client_method();
@@ -448,6 +542,25 @@ AMPSDLL int amps_ssl_init(const char* dllPath_)
448
542
  return 0;
449
543
  }
450
544
 
545
+ AMPSDLL int amps_ssl_init_from_context(void* context_, const char* fileName_)
546
+ {
547
+ if (_amps_ssl_load(NULL) != 0)
548
+ {
549
+ if (!fileName_ || _amps_ssl_load(fileName_))
550
+ {
551
+ return -1;
552
+ }
553
+ }
554
+ _amps_ssl_ctx = (_amps_SSL_CTX*)context_;
555
+
556
+ #ifndef _WIN32
557
+ /* No SIGPIPE */
558
+ signal(SIGPIPE, SIG_IGN);
559
+ #endif
560
+
561
+ return 0;
562
+ }
563
+
451
564
  AMPSDLL const char* amps_ssl_get_error(void)
452
565
  {
453
566
  return _amps_ssl_initialization_error;
@@ -484,6 +597,20 @@ AMPSDLL int amps_ssl_load_verify_locations(const char* caFile_, const char* caPa
484
597
 
485
598
  AMPSDLL void amps_ssl_free(void)
486
599
  {
487
- _amps_SSL_CTX_free(_amps_ssl_ctx);
600
+ if (_amps_ssl_ctx)
601
+ {
602
+ _amps_SSL_CTX_free(_amps_ssl_ctx);
603
+ }
488
604
  _amps_ssl_ctx = 0;
605
+ for (size_t i = 0; i < _amps_ssl_mutex_count; ++i)
606
+ {
607
+ #ifdef _WIN32
608
+ DeleteCriticalSection(_amps_ssl_mutexes + i);
609
+ #else
610
+ pthread_mutex_destroy(_amps_ssl_mutexes + i);
611
+ #endif
612
+ }
613
+ free(_amps_ssl_mutexes);
614
+ _amps_ssl_mutexes = 0;
615
+ _amps_ssl_mutex_count = 0;
489
616
  }
@@ -107,9 +107,37 @@ void __amps_atfork_mutex_init(void)
107
107
  #endif
108
108
  }
109
109
 
110
+ void _amps_atfork_cleanup(void)
111
+ {
112
+ if (!_amps_atfork_array)
113
+ {
114
+ return;
115
+ }
116
+ for (size_t h = 0; h < _amps_atfork_array_size; ++h)
117
+ {
118
+ struct _amps_atfork_entry* pEntry = &_amps_atfork_array[h];
119
+ if (!pEntry || !pEntry->capacity || !pEntry->buckets || !pEntry->callback)
120
+ {
121
+ continue;
122
+ }
123
+ for (size_t i = 0; i < pEntry->maxBucket; ++i)
124
+ {
125
+ struct _amps_atfork_bucket* pBucket = &pEntry->buckets[i];
126
+ free(pBucket->_array);
127
+ }
128
+ free(pEntry->buckets);
129
+ }
130
+ free(_amps_atfork_array);
131
+ _amps_atfork_array = 0;
132
+ _amps_atfork_array_size = 0;
133
+ _amps_atfork_array_capacity = 0;
134
+ }
135
+
110
136
  void _amps_atfork_register(void)
111
137
  {
112
138
  pthread_atfork(__amps_prefork, __amps_postfork_parent, __amps_postfork_child);
139
+ // Needed if static items aren't destroyed
140
+ atexit(_amps_atfork_cleanup);
113
141
  }
114
142
 
115
143
  void _amps_atfork_init(void)
@@ -272,6 +300,7 @@ void amps_atfork_add(void* user_data_, _amps_atfork_callback_function callback_)
272
300
  if (!pEntry->callback)
273
301
  {
274
302
  pEntry->callback = callback_;
303
+ free(pEntry->buckets);
275
304
  pEntry->buckets = malloc((_AMPS_ATFORK_DEFAULT_RESIZE - 1) * sizeof(struct _amps_atfork_bucket));
276
305
  memset(pEntry->buckets, 0, (_AMPS_ATFORK_DEFAULT_RESIZE - 1) * sizeof(struct _amps_atfork_bucket));
277
306
  pEntry->capacity = _AMPS_ATFORK_DEFAULT_RESIZE - 1;
@@ -331,6 +360,10 @@ void amps_atfork_add(void* user_data_, _amps_atfork_callback_function callback_)
331
360
 
332
361
  void amps_atfork_remove(void* user_data_, _amps_atfork_callback_function callback_)
333
362
  {
363
+ if (!_amps_atfork_array || !_amps_atfork_array_size)
364
+ {
365
+ return;
366
+ }
334
367
  pthread_mutex_lock(&_amps_atfork_registry_mutex);
335
368
  pthread_cleanup_push(amps_cleanup_unlock_registry_mutex, NULL);
336
369