couchbase 3.0.0.alpha.1-universal-darwin-19 → 3.0.0.beta.1-universal-darwin-19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (912) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Gemfile +12 -2
  4. data/README.md +57 -2
  5. data/Rakefile +22 -0
  6. data/couchbase.gemspec +44 -11
  7. data/examples/analytics.rb +221 -0
  8. data/examples/crud.rb +1 -2
  9. data/examples/managing_analytics_indexes.rb +72 -0
  10. data/examples/managing_buckets.rb +47 -0
  11. data/examples/managing_collections.rb +58 -0
  12. data/examples/managing_query_indexes.rb +63 -0
  13. data/examples/managing_search_indexes.rb +62 -0
  14. data/examples/managing_view_indexes.rb +54 -0
  15. data/examples/query.rb +3 -2
  16. data/examples/query_with_consistency.rb +76 -0
  17. data/examples/search.rb +187 -0
  18. data/examples/search_with_consistency.rb +84 -0
  19. data/examples/subdocument.rb +25 -3
  20. data/examples/view.rb +50 -0
  21. data/ext/.clang-format +1 -1
  22. data/ext/.clang-tidy +2 -0
  23. data/ext/.idea/dictionaries/couchbase_terms.xml +2 -0
  24. data/ext/.idea/misc.xml +12 -0
  25. data/ext/.idea/vcs.xml +1 -0
  26. data/ext/CMakeLists.txt +40 -13
  27. data/ext/{couchbase/io/binary_message.hxx → build_config.hxx.in} +1 -19
  28. data/ext/build_version.hxx.in +26 -0
  29. data/ext/couchbase/bucket.hxx +105 -19
  30. data/ext/couchbase/cluster.hxx +148 -90
  31. data/ext/couchbase/cluster_options.hxx +53 -0
  32. data/ext/couchbase/collections_manifest.hxx +3 -3
  33. data/ext/couchbase/configuration.hxx +234 -2
  34. data/ext/couchbase/couchbase.cxx +4833 -476
  35. data/ext/couchbase/{operations/document_id.hxx → document_id.hxx} +5 -4
  36. data/ext/couchbase/io/dns_client.hxx +217 -0
  37. data/ext/couchbase/io/dns_codec.hxx +207 -0
  38. data/ext/couchbase/io/dns_config.hxx +116 -0
  39. data/ext/couchbase/io/dns_message.hxx +555 -0
  40. data/ext/couchbase/io/http_command.hxx +91 -0
  41. data/ext/couchbase/io/http_message.hxx +5 -1
  42. data/ext/couchbase/io/http_parser.hxx +2 -1
  43. data/ext/couchbase/io/http_session.hxx +120 -41
  44. data/ext/couchbase/io/{session_manager.hxx → http_session_manager.hxx} +43 -28
  45. data/ext/couchbase/io/mcbp_command.hxx +180 -0
  46. data/ext/couchbase/io/mcbp_message.hxx +63 -0
  47. data/ext/couchbase/io/mcbp_parser.hxx +101 -0
  48. data/ext/couchbase/io/mcbp_session.hxx +1046 -0
  49. data/ext/couchbase/io/streams.hxx +165 -0
  50. data/ext/couchbase/mutation_token.hxx +2 -1
  51. data/ext/couchbase/operations.hxx +70 -8
  52. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  53. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  54. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  55. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  56. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  57. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  58. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  59. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  60. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  61. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  62. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  63. data/ext/couchbase/operations/bucket_create.hxx +141 -0
  64. data/ext/couchbase/operations/bucket_drop.hxx +68 -0
  65. data/ext/couchbase/operations/bucket_flush.hxx +68 -0
  66. data/ext/couchbase/operations/bucket_get.hxx +72 -0
  67. data/ext/couchbase/operations/bucket_get_all.hxx +65 -0
  68. data/ext/couchbase/operations/bucket_settings.hxx +111 -0
  69. data/ext/couchbase/operations/bucket_update.hxx +118 -0
  70. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +63 -0
  71. data/ext/couchbase/operations/collection_create.hxx +93 -0
  72. data/ext/couchbase/operations/collection_drop.hxx +85 -0
  73. data/ext/couchbase/operations/design_document.hxx +59 -0
  74. data/ext/couchbase/operations/document_analytics.hxx +288 -0
  75. data/ext/couchbase/operations/document_decrement.hxx +85 -0
  76. data/ext/couchbase/operations/document_exists.hxx +82 -0
  77. data/ext/couchbase/operations/{get.hxx → document_get.hxx} +10 -3
  78. data/ext/couchbase/operations/document_get_and_lock.hxx +69 -0
  79. data/ext/couchbase/operations/document_get_and_touch.hxx +69 -0
  80. data/ext/couchbase/operations/document_get_projected.hxx +247 -0
  81. data/ext/couchbase/operations/document_increment.hxx +87 -0
  82. data/ext/couchbase/operations/document_insert.hxx +79 -0
  83. data/ext/couchbase/operations/{lookup_in.hxx → document_lookup_in.hxx} +27 -3
  84. data/ext/couchbase/operations/{mutate_in.hxx → document_mutate_in.hxx} +58 -3
  85. data/ext/couchbase/operations/{query.hxx → document_query.hxx} +117 -12
  86. data/ext/couchbase/operations/{remove.hxx → document_remove.hxx} +17 -3
  87. data/ext/couchbase/operations/document_replace.hxx +81 -0
  88. data/ext/couchbase/operations/document_search.hxx +355 -0
  89. data/ext/couchbase/operations/document_touch.hxx +65 -0
  90. data/ext/couchbase/operations/{upsert.hxx → document_unlock.hxx} +17 -12
  91. data/ext/couchbase/operations/document_upsert.hxx +79 -0
  92. data/ext/couchbase/operations/document_view.hxx +228 -0
  93. data/ext/couchbase/operations/query_index_build_deferred.hxx +86 -0
  94. data/ext/couchbase/operations/query_index_create.hxx +135 -0
  95. data/ext/couchbase/operations/query_index_drop.hxx +109 -0
  96. data/ext/couchbase/operations/query_index_get_all.hxx +107 -0
  97. data/ext/couchbase/operations/scope_create.hxx +84 -0
  98. data/ext/couchbase/operations/scope_drop.hxx +82 -0
  99. data/ext/couchbase/operations/scope_get_all.hxx +76 -0
  100. data/ext/couchbase/operations/search_index.hxx +79 -0
  101. data/ext/couchbase/operations/search_index_analyze_document.hxx +92 -0
  102. data/ext/couchbase/operations/search_index_control_ingest.hxx +80 -0
  103. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +80 -0
  104. data/ext/couchbase/operations/search_index_control_query.hxx +80 -0
  105. data/ext/couchbase/operations/search_index_drop.hxx +77 -0
  106. data/ext/couchbase/operations/search_index_get.hxx +80 -0
  107. data/ext/couchbase/operations/search_index_get_all.hxx +82 -0
  108. data/ext/couchbase/operations/search_index_get_documents_count.hxx +81 -0
  109. data/ext/couchbase/operations/search_index_upsert.hxx +106 -0
  110. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  111. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  112. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  113. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  114. data/ext/couchbase/origin.hxx +148 -0
  115. data/ext/couchbase/protocol/client_opcode.hxx +52 -3
  116. data/ext/couchbase/protocol/client_request.hxx +56 -9
  117. data/ext/couchbase/protocol/client_response.hxx +53 -16
  118. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +76 -0
  119. data/ext/couchbase/protocol/cmd_decrement.hxx +187 -0
  120. data/ext/couchbase/protocol/cmd_exists.hxx +171 -0
  121. data/ext/couchbase/protocol/cmd_get.hxx +31 -8
  122. data/ext/couchbase/protocol/cmd_get_and_lock.hxx +142 -0
  123. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +142 -0
  124. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +16 -8
  125. data/ext/couchbase/protocol/cmd_get_collection_id.hxx +117 -0
  126. data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +16 -3
  127. data/ext/couchbase/protocol/cmd_get_error_map.hxx +16 -3
  128. data/ext/couchbase/protocol/cmd_hello.hxx +34 -8
  129. data/ext/couchbase/protocol/cmd_increment.hxx +187 -0
  130. data/ext/couchbase/protocol/cmd_info.hxx +1 -11
  131. data/ext/couchbase/protocol/cmd_insert.hxx +172 -0
  132. data/ext/couchbase/protocol/cmd_lookup_in.hxx +29 -13
  133. data/ext/couchbase/protocol/cmd_mutate_in.hxx +116 -16
  134. data/ext/couchbase/protocol/cmd_remove.hxx +59 -4
  135. data/ext/couchbase/protocol/cmd_replace.hxx +172 -0
  136. data/ext/couchbase/protocol/cmd_sasl_auth.hxx +15 -3
  137. data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +15 -3
  138. data/ext/couchbase/protocol/cmd_sasl_step.hxx +15 -3
  139. data/ext/couchbase/protocol/cmd_select_bucket.hxx +14 -2
  140. data/ext/couchbase/protocol/cmd_touch.hxx +102 -0
  141. data/ext/couchbase/protocol/cmd_unlock.hxx +95 -0
  142. data/ext/couchbase/protocol/cmd_upsert.hxx +54 -18
  143. data/ext/couchbase/protocol/durability_level.hxx +67 -0
  144. data/ext/couchbase/protocol/frame_info_id.hxx +187 -0
  145. data/ext/couchbase/protocol/hello_feature.hxx +137 -0
  146. data/ext/couchbase/protocol/server_opcode.hxx +57 -0
  147. data/ext/couchbase/protocol/server_request.hxx +122 -0
  148. data/ext/couchbase/protocol/unsigned_leb128.h +15 -15
  149. data/ext/couchbase/service_type.hxx +38 -1
  150. data/ext/couchbase/timeout_defaults.hxx +41 -0
  151. data/ext/couchbase/utils/byteswap.hxx +1 -2
  152. data/ext/couchbase/utils/connection_string.hxx +370 -0
  153. data/ext/couchbase/utils/url_codec.hxx +225 -0
  154. data/ext/couchbase/version.hxx +3 -1
  155. data/ext/extconf.rb +46 -10
  156. data/ext/test/main.cxx +111 -118
  157. data/ext/third_party/http_parser/Makefile +160 -0
  158. data/ext/third_party/json/Makefile +77 -0
  159. data/ext/third_party/snappy/.appveyor.yml +36 -0
  160. data/ext/third_party/snappy/.gitignore +8 -0
  161. data/ext/third_party/snappy/.travis.yml +98 -0
  162. data/ext/third_party/snappy/AUTHORS +1 -0
  163. data/ext/third_party/snappy/CMakeLists.txt +345 -0
  164. data/ext/third_party/snappy/CONTRIBUTING.md +26 -0
  165. data/ext/third_party/snappy/COPYING +54 -0
  166. data/ext/third_party/snappy/NEWS +188 -0
  167. data/ext/third_party/snappy/README.md +148 -0
  168. data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +33 -0
  169. data/ext/third_party/snappy/cmake/config.h.in +59 -0
  170. data/ext/third_party/snappy/docs/README.md +72 -0
  171. data/ext/third_party/snappy/format_description.txt +110 -0
  172. data/ext/third_party/snappy/framing_format.txt +135 -0
  173. data/ext/third_party/snappy/snappy-c.cc +90 -0
  174. data/ext/third_party/snappy/snappy-c.h +138 -0
  175. data/ext/third_party/snappy/snappy-internal.h +315 -0
  176. data/ext/third_party/snappy/snappy-sinksource.cc +121 -0
  177. data/ext/third_party/snappy/snappy-sinksource.h +182 -0
  178. data/ext/third_party/snappy/snappy-stubs-internal.cc +42 -0
  179. data/ext/third_party/snappy/snappy-stubs-internal.h +493 -0
  180. data/ext/third_party/snappy/snappy-stubs-public.h.in +63 -0
  181. data/ext/third_party/snappy/snappy-test.cc +613 -0
  182. data/ext/third_party/snappy/snappy-test.h +526 -0
  183. data/ext/third_party/snappy/snappy.cc +1770 -0
  184. data/ext/third_party/snappy/snappy.h +209 -0
  185. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +60 -0
  186. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +58 -0
  187. data/ext/third_party/snappy/snappy_unittest.cc +1512 -0
  188. data/lib/couchbase/analytics_options.rb +179 -0
  189. data/lib/couchbase/binary_collection.rb +37 -76
  190. data/lib/couchbase/binary_collection_options.rb +98 -0
  191. data/lib/couchbase/bucket.rb +63 -5
  192. data/lib/couchbase/cluster.rb +189 -113
  193. data/lib/couchbase/collection.rb +153 -200
  194. data/lib/couchbase/collection_options.rb +496 -0
  195. data/{bin/console → lib/couchbase/datastructures.rb} +4 -7
  196. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  197. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  198. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  199. data/lib/couchbase/datastructures/couchbase_set.rb +138 -0
  200. data/lib/couchbase/errors.rb +140 -135
  201. data/{bin/setup → lib/couchbase/json_transcoder.rb} +17 -8
  202. data/lib/couchbase/libcouchbase.bundle +0 -0
  203. data/lib/couchbase/management/analytics_index_manager.rb +309 -19
  204. data/lib/couchbase/management/bucket_manager.rb +98 -33
  205. data/lib/couchbase/management/collection_manager.rb +175 -1
  206. data/lib/couchbase/management/query_index_manager.rb +271 -0
  207. data/lib/couchbase/management/search_index_manager.rb +338 -0
  208. data/lib/couchbase/management/user_manager.rb +13 -11
  209. data/lib/couchbase/management/view_index_manager.rb +204 -1
  210. data/lib/couchbase/mutation_state.rb +12 -1
  211. data/lib/couchbase/query_options.rb +242 -0
  212. data/lib/couchbase/scope.rb +3 -10
  213. data/lib/couchbase/search_options.rb +1499 -0
  214. data/lib/couchbase/subdoc.rb +80 -19
  215. data/lib/couchbase/version.rb +1 -1
  216. data/lib/couchbase/view_options.rb +156 -0
  217. metadata +164 -777
  218. data/.gitignore +0 -20
  219. data/.gitmodules +0 -15
  220. data/.idea/.gitignore +0 -5
  221. data/.idea/dictionaries/gem_terms.xml +0 -13
  222. data/.idea/inspectionProfiles/Project_Default.xml +0 -7
  223. data/.idea/vcs.xml +0 -11
  224. data/.travis.yml +0 -7
  225. data/ext/couchbase/configuration_monitor.hxx +0 -93
  226. data/ext/couchbase/io/binary_parser.hxx +0 -64
  227. data/ext/couchbase/io/key_value_session.hxx +0 -754
  228. data/ext/couchbase/operations/command.hxx +0 -77
  229. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  230. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  231. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  232. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  233. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  234. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  235. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  236. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  237. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  238. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  239. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  240. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  241. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  242. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  243. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  244. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  245. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  246. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  247. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  248. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  249. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  250. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  251. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  252. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  253. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  254. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  255. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  256. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  257. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  258. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  259. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  260. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  261. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  262. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  263. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  264. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  265. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  266. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  267. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  268. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  269. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  270. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  271. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  272. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  273. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  274. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  275. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  276. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  277. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  278. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  279. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  280. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  281. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  282. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  283. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  284. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  285. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  286. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  287. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  288. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  289. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  290. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  291. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  292. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  293. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  294. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  295. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  296. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  297. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  298. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  299. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  300. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  301. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  302. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  303. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  304. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  305. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  306. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  307. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  308. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  309. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  310. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  311. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  312. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  313. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  314. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  315. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  316. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  317. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  318. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  319. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  320. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  321. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  322. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  323. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  324. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  325. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  326. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  327. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  328. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  329. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  330. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  331. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  332. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  333. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  334. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  335. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  336. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  337. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  338. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  339. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  340. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  341. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  342. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  343. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  344. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  345. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  346. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  347. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  348. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  349. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  350. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  351. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  352. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  353. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  354. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  355. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  356. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  357. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  358. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  359. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  360. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  361. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  362. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  363. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  364. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  365. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  366. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  367. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  368. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  369. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  370. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  371. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  372. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  373. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  374. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  375. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  376. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  377. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  378. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  379. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  380. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  381. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  382. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  383. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  384. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  385. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  386. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  387. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  388. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  389. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  390. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  391. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  392. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  393. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  394. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  395. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  396. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  397. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  398. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  399. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  400. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  401. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  402. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  403. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  404. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  405. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  406. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  407. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  408. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  409. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  410. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  411. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  412. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  413. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  414. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  415. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  416. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  417. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  418. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  419. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  420. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  421. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  422. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  423. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  424. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  425. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  426. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  427. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  428. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  429. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  430. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  431. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  432. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  433. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  434. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  435. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  436. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  437. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  438. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  439. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  440. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  441. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  442. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  443. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  444. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  445. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  446. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  447. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  448. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  449. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  450. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  451. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  452. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  453. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  454. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  455. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  456. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  457. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  458. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  459. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  460. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  461. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  462. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  463. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  464. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  465. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  466. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  467. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  468. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  469. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  470. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  471. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  472. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  473. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  474. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  475. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  476. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  477. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  478. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  479. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  480. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  481. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  482. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  483. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  484. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  485. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  486. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  487. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  488. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  489. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  490. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  491. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  492. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  493. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  494. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  495. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  496. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  497. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  498. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  499. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  500. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  501. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  502. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  503. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  504. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  505. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  506. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  507. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  508. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  509. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  510. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  511. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  512. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  513. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  514. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  515. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  516. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  517. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  518. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  519. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  520. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  521. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  522. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  523. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  524. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  525. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  526. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  527. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  528. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  529. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  530. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  531. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  532. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  533. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  534. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  535. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  536. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  537. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  538. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  539. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  540. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  541. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  542. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  543. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  544. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  545. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  546. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  547. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  548. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  549. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  550. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  551. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  552. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  553. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  554. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  555. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  556. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  557. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  558. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  559. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  560. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  561. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  562. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  563. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  564. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  565. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  566. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  567. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  568. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  569. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  570. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  571. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  572. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  573. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  574. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  575. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  576. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  577. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  578. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  579. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  580. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  581. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  582. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  583. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  584. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  585. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  586. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  587. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  588. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  589. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  590. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  591. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  592. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  593. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  594. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  595. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  596. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  597. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  598. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  599. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  600. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  601. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  602. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  603. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  604. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  605. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  606. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  607. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  608. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  609. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  610. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  611. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  612. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  613. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  614. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  615. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  616. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  617. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  618. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  619. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  620. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  621. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  622. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  623. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  624. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  625. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  626. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  627. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  628. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  629. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  630. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  631. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  632. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  633. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  634. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  635. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  636. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  637. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  638. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  639. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  640. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  641. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  642. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  643. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  644. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  645. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  646. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  647. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  648. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  649. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  650. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  651. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  652. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  653. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  654. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  655. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  656. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  657. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  658. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  659. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  660. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  661. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  662. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  663. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  664. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  665. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  666. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  667. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  668. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  669. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  670. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  671. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  672. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  673. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  674. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  675. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  676. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  677. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  678. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  679. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  680. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  681. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  682. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  683. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  684. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  685. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  686. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  687. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  688. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  689. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  690. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  691. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  692. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  693. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  694. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  695. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  696. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  697. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  698. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  699. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  700. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  701. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  702. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  703. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  704. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  705. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  706. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  707. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  708. data/ext/third_party/json/doc/Changelog.md +0 -31
  709. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  710. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  711. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  712. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  713. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  714. data/ext/third_party/json/doc/Interoperability.md +0 -75
  715. data/ext/third_party/json/doc/Overview.md +0 -24
  716. data/ext/third_party/json/doc/Overview.png +0 -0
  717. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  718. data/ext/third_party/json/doc/README.md +0 -78
  719. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  720. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  721. data/ext/third_party/json/doc/Types.png +0 -0
  722. data/ext/third_party/json/doc/Value-Class.md +0 -525
  723. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  724. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  725. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  726. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  727. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  728. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  729. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  730. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  731. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  732. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  733. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  734. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  735. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  736. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  737. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  738. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  739. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  740. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  741. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  742. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  743. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  744. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  745. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  746. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  747. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  748. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  749. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  750. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  751. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  752. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  753. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  754. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  755. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  756. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  757. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  758. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  759. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  760. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  761. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  762. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  763. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  764. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  765. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  766. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  767. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  768. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  769. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  770. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  771. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  772. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  773. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  774. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  775. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  776. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  777. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  778. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  779. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  780. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  781. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  782. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  783. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  784. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  785. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  786. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  787. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  788. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  789. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  790. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  791. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  792. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  793. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  794. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  795. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  796. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  797. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  798. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  799. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  800. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  801. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  802. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  803. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  804. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  805. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  806. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  807. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  808. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  809. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  810. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  811. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  812. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  813. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  814. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  815. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  816. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  817. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  818. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  819. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  820. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  821. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  822. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  823. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  824. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  825. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  826. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  827. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  828. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  829. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  830. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  831. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  832. data/ext/third_party/json/tests/blns.json +0 -496
  833. data/ext/third_party/json/tests/canada.json +0 -9
  834. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  835. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  836. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  837. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  838. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  839. data/ext/third_party/json/tests/draft4/default.json +0 -49
  840. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  841. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  842. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  843. data/ext/third_party/json/tests/draft4/items.json +0 -46
  844. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  845. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  846. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  847. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  848. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  849. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  850. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  851. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  852. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  853. data/ext/third_party/json/tests/draft4/not.json +0 -96
  854. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  855. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  856. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  857. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  858. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  859. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  860. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  861. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  862. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  863. data/ext/third_party/json/tests/draft4/required.json +0 -44
  864. data/ext/third_party/json/tests/draft4/type.json +0 -345
  865. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  866. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  867. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  868. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  869. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  870. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  871. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  872. data/ext/third_party/json/tests/twitter.json +0 -15482
  873. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  874. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  875. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  876. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  877. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  878. data/ext/third_party/spdlog/bench/utils.h +0 -34
  879. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  880. data/ext/third_party/spdlog/example/example.cpp +0 -282
  881. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  882. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  883. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  884. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  885. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  886. data/ext/third_party/spdlog/tests/catch.license +0 -23
  887. data/ext/third_party/spdlog/tests/includes.h +0 -26
  888. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  889. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  890. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  891. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  892. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  893. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  894. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  895. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  896. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  897. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  898. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  899. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  900. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  901. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  902. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  903. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  904. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  905. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  906. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  907. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  908. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  909. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  910. data/ext/third_party/spdlog/tests/utils.h +0 -18
  911. data/lib/couchbase/results.rb +0 -307
  912. data/rbi/couchbase.rbi +0 -79
@@ -12,14 +12,18 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'couchbase/authenticator'
16
- require 'couchbase/bucket'
15
+ require "couchbase/authenticator"
16
+ require "couchbase/bucket"
17
17
 
18
- require 'couchbase/management/user_manager'
19
- require 'couchbase/management/bucket_manager'
20
- require 'couchbase/management/query_index_manager'
21
- require 'couchbase/management/analytics_index_manager'
22
- require 'couchbase/management/search_index_manager'
18
+ require "couchbase/management/user_manager"
19
+ require "couchbase/management/bucket_manager"
20
+ require "couchbase/management/query_index_manager"
21
+ require "couchbase/management/analytics_index_manager"
22
+ require "couchbase/management/search_index_manager"
23
+
24
+ require "couchbase/search_options"
25
+ require "couchbase/query_options"
26
+ require "couchbase/analytics_options"
23
27
 
24
28
  module Couchbase
25
29
  class Cluster
@@ -35,29 +39,46 @@ module Couchbase
35
39
  Cluster.new(connection_string, options)
36
40
  end
37
41
 
42
+ # Returns an instance of the {Bucket}
43
+ #
44
+ # @param [String] name name of the bucket
45
+ #
46
+ # @return [Bucket]
38
47
  def bucket(name)
39
48
  Bucket.new(@backend, name)
40
49
  end
41
50
 
42
51
  # Performs a query against the query (N1QL) services
43
- #
52
+ #
44
53
  # @param [String] statement the N1QL query statement
45
54
  # @param [QueryOptions] options the custom options for this query
46
55
  #
47
56
  # @return [QueryResult]
48
57
  def query(statement, options = QueryOptions.new)
49
- resp = @backend.query(statement, {
58
+ resp = @backend.document_query(statement, {
59
+ timeout: options.timeout,
50
60
  adhoc: options.adhoc,
51
61
  client_context_id: options.client_context_id,
52
62
  max_parallelism: options.max_parallelism,
53
63
  readonly: options.readonly,
64
+ scan_wait: options.scan_wait,
54
65
  scan_cap: options.scan_cap,
55
66
  pipeline_batch: options.pipeline_batch,
56
67
  pipeline_cap: options.pipeline_cap,
57
68
  metrics: options.metrics,
58
69
  profile: options.profile,
59
- positional_parameters: options.instance_variable_get("@positional_parameters")&.map { |p| JSON.dump(p) },
60
- named_parameters: options.instance_variable_get("@named_parameters")&.each_with_object({}) { |(n, v), o| o[n.to_s] = JSON.dump(v) }
70
+ positional_parameters: options.export_positional_parameters,
71
+ named_parameters: options.export_named_parameters,
72
+ raw_parameters: options.raw_parameters,
73
+ scan_consistency: options.scan_consistency,
74
+ mutation_state: (options.mutation_state.tokens.map { |t|
75
+ {
76
+ bucket_name: t.bucket_name,
77
+ partition_id: t.partition_id,
78
+ partition_uuid: t.partition_uuid,
79
+ sequence_number: t.sequence_number,
80
+ }
81
+ } if options.mutation_state),
61
82
  })
62
83
 
63
84
  QueryResult.new do |res|
@@ -73,6 +94,7 @@ module Couchbase
73
94
  metrics.execution_time = resp[:meta][:metrics][:execution_time]
74
95
  metrics.sort_count = resp[:meta][:metrics][:sort_count]
75
96
  metrics.result_count = resp[:meta][:metrics][:result_count]
97
+ metrics.result_size = resp[:meta][:metrics][:result_size]
76
98
  metrics.mutation_count = resp[:meta][:metrics][:mutation_count]
77
99
  metrics.error_count = resp[:meta][:metrics][:error_count]
78
100
  metrics.warning_count = resp[:meta][:metrics][:warning_count]
@@ -85,12 +107,47 @@ module Couchbase
85
107
  end
86
108
 
87
109
  # Performs an analytics query
88
- #
110
+ #
89
111
  # @param [String] statement the N1QL query statement
90
112
  # @param [AnalyticsOptions] options the custom options for this query
91
113
  #
92
114
  # @return [AnalyticsResult]
93
- def analytics_query(statement, options = AnalyticsOptions.new) end
115
+ def analytics_query(statement, options = AnalyticsOptions.new)
116
+ resp = @backend.document_analytics(statement, {
117
+ timeout: options.timeout,
118
+ client_context_id: options.client_context_id,
119
+ scan_consistency: options.scan_consistency,
120
+ readonly: options.readonly,
121
+ priority: options.priority,
122
+ positional_parameters: options.export_positional_parameters,
123
+ named_parameters: options.export_named_parameters,
124
+ raw_parameters: options.raw_parameters,
125
+ })
126
+
127
+ AnalyticsResult.new do |res|
128
+ res.transcoder = options.transcoder
129
+ res.meta_data = AnalyticsMetaData.new do |meta|
130
+ meta.status = resp[:meta][:status]
131
+ meta.request_id = resp[:meta][:request_id]
132
+ meta.client_context_id = resp[:meta][:client_context_id]
133
+ meta.signature = JSON.parse(resp[:meta][:signature]) if resp[:meta][:signature]
134
+ meta.profile = JSON.parse(resp[:meta][:profile]) if resp[:meta][:profile]
135
+ meta.metrics = AnalyticsMetrics.new do |metrics|
136
+ if resp[:meta][:metrics]
137
+ metrics.elapsed_time = resp[:meta][:metrics][:elapsed_time]
138
+ metrics.execution_time = resp[:meta][:metrics][:execution_time]
139
+ metrics.result_count = resp[:meta][:metrics][:result_count]
140
+ metrics.result_size = resp[:meta][:metrics][:result_size]
141
+ metrics.error_count = resp[:meta][:metrics][:error_count]
142
+ metrics.warning_count = resp[:meta][:metrics][:warning_count]
143
+ metrics.processed_objects = resp[:meta][:metrics][:processed_objects]
144
+ end
145
+ end
146
+ res[:warnings] = resp[:warnings].map { |warn| QueryWarning.new(warn[:code], warn[:message]) } if resp[:warnings]
147
+ end
148
+ res.instance_variable_set("@rows", resp[:rows])
149
+ end
150
+ end
94
151
 
95
152
  # Performs a Full Text Search (FTS) query
96
153
  #
@@ -98,27 +155,133 @@ module Couchbase
98
155
  # @param [SearchQuery] query the query tree
99
156
  # @param [SearchOptions] options the query tree
100
157
  #
101
- # @return [QueryResult]
102
- def search_query(index_name, query, options = SearchOptions.new) end
158
+ # @return [SearchResult]
159
+ def search_query(index_name, query, options = SearchOptions.new)
160
+ resp = @backend.document_search(index_name, JSON.generate(query), {
161
+ timeout: options.timeout,
162
+ limit: options.limit,
163
+ skip: options.skip,
164
+ explain: options.explain,
165
+ highlight_style: options.highlight_style,
166
+ highlight_fields: options.highlight_fields,
167
+ fields: options.fields,
168
+ sort: (options.sort.map { |v| JSON.generate(v) } if options.sort),
169
+ facets: (options.facets.map { |(k, v)| [k, JSON.generate(v)] } if options.facets),
170
+ scan_consistency: options.scan_consistency,
171
+ mutation_state: (options.mutation_state.tokens.map { |t|
172
+ {
173
+ bucket_name: t.bucket_name,
174
+ partition_id: t.partition_id,
175
+ partition_uuid: t.partition_uuid,
176
+ sequence_number: t.sequence_number,
177
+ }
178
+ } if options.mutation_state),
179
+ })
180
+
181
+ SearchResult.new do |res|
182
+ res.meta_data = SearchMetaData.new do |meta|
183
+ meta.metrics.max_score = resp[:meta_data][:metrics][:max_score]
184
+ meta.metrics.error_partition_count = resp[:meta_data][:metrics][:error_partition_count]
185
+ meta.metrics.success_partition_count = resp[:meta_data][:metrics][:success_partition_count]
186
+ meta.metrics.took = resp[:meta_data][:metrics][:took]
187
+ meta.metrics.total_rows = resp[:meta_data][:metrics][:total_rows]
188
+ end
189
+ res.rows = resp[:rows].map do |r|
190
+ SearchRow.new do |row|
191
+ row.transcoder = options.transcoder
192
+ row.index = r[:index]
193
+ row.id = r[:id]
194
+ row.score = r[:score]
195
+ row.fragments = r[:fragments]
196
+ row.locations = SearchRowLocations.new(
197
+ r[:locations].map do |loc|
198
+ SearchRowLocation.new do |location|
199
+ location.field = loc[:field]
200
+ location.term = loc[:term]
201
+ location.position = loc[:position]
202
+ location.start_offset = loc[:start_offset]
203
+ location.end_offset = loc[:end_offset]
204
+ location.array_positions = loc[:array_positions]
205
+ end
206
+ end
207
+ )
208
+ row.instance_variable_set("@fields", r[:fields])
209
+ row.explanation = JSON.parse(r[:explanation]) if r[:explanation]
210
+ end
211
+ end
212
+ if resp[:facets]
213
+ res.facets = resp[:facets].each_with_object({}) do |(k, v), o|
214
+ facet = case options.facets[k]
215
+ when SearchFacet::SearchFacetTerm
216
+ SearchFacetResult::TermFacetResult.new do |f|
217
+ f.terms =
218
+ if v[:terms]
219
+ v[:terms].map do |t|
220
+ SearchFacetResult::TermFacetResult::TermFacet.new(t[:term], t[:count])
221
+ end
222
+ else
223
+ []
224
+ end
225
+ end
226
+ when SearchFacet::SearchFacetDateRange
227
+ SearchFacetResult::DateRangeFacetResult.new do |f|
228
+ f.date_ranges =
229
+ if v[:date_ranges]
230
+ v[:date_ranges].map do |r|
231
+ SearchFacetResult::DateRangeFacetResult::DateRangeFacet.new(r[:name], r[:count], r[:start_time], r[:end_time])
232
+ end
233
+ else
234
+ []
235
+ end
236
+ end
237
+ when SearchFacet::SearchFacetNumericRange
238
+ SearchFacetResult::NumericRangeFacetResult.new do |f|
239
+ f.numeric_ranges =
240
+ if v[:numeric_ranges]
241
+ v[:numeric_ranges].map do |r|
242
+ SearchFacetResult::NumericRangeFacetResult::NumericRangeFacet.new(r[:name], r[:count], r[:min], r[:max])
243
+ end
244
+ else
245
+ []
246
+ end
247
+ end
248
+ else
249
+ next # ignore unknown facet result
250
+ end
251
+ facet.name = v[:name]
252
+ facet.field = v[:field]
253
+ facet.total = v[:total]
254
+ facet.missing = v[:missing]
255
+ facet.other = v[:other]
256
+ o[k] = facet
257
+ end
258
+ end
259
+ end
260
+ end
103
261
 
262
+ # @return [Management::UserManager]
104
263
  def users
105
- UserManager.new(@backend)
264
+ Management::UserManager.new(@backend)
106
265
  end
107
266
 
267
+ # @return [Management::BucketManager]
108
268
  def buckets
109
- BucketManager.new(@backend)
269
+ Management::BucketManager.new(@backend)
110
270
  end
111
271
 
272
+ # @return [Management::QueryIndexManager]
112
273
  def query_indexes
113
- QueryIndexManager.new(@backend)
274
+ Management::QueryIndexManager.new(@backend)
114
275
  end
115
276
 
277
+ # @return [Management::AnalyticsIndexManager]
116
278
  def analytics_indexes
117
- AnalyticsIndexManager.new(@backend)
279
+ Management::AnalyticsIndexManager.new(@backend)
118
280
  end
119
281
 
282
+ # @return [Management::SearchIndexManager]
120
283
  def search_indexes
121
- SearchIndexManager.new(@backend)
284
+ Management::SearchIndexManager.new(@backend)
122
285
  end
123
286
 
124
287
  def disconnect
@@ -140,95 +303,6 @@ module Couchbase
140
303
  end
141
304
  end
142
305
 
143
- class QueryOptions
144
- # @return [Boolean] Allows turning this request into a prepared statement query
145
- attr_accessor :adhoc
146
-
147
- # @return [String] Provides a custom client context ID for this query
148
- attr_accessor :client_context_id
149
-
150
- # @return [Integer] Allows overriding the default maximum parallelism for the query execution on the server side.
151
- attr_accessor :max_parallelism
152
-
153
- # @return [Boolean] Allows explicitly marking a query as being readonly and not mutating and documents on the server side.
154
- attr_accessor :readonly
155
-
156
- # @return [Integer] Supports customizing the maximum buffered channel size between the indexer and the query service
157
- attr_accessor :scan_cap
158
-
159
- # @return [Integer] Supports customizing the number of items execution operators can batch for fetch from the KV layer on the server.
160
- attr_accessor :pipeline_batch
161
-
162
- # @return [Integer] Allows customizing the maximum number of items each execution operator can buffer between various operators on the server.
163
- attr_accessor :pipeline_cap
164
-
165
- # @return [Boolean] Enables per-request metrics in the trailing section of the query
166
- attr_accessor :metrics
167
-
168
- # @return [:off, :phases, :timings] Customize server profile level for this query
169
- attr_accessor :profile
170
-
171
- def initialize
172
- @adhoc = true
173
- yield self if block_given?
174
- @positional_parameters = nil
175
- @named_parameters = nil
176
- end
177
-
178
- # Allows providing custom JSON key/value pairs for advanced usage
179
- #
180
- # @param [String] key the parameter name (key of the JSON property)
181
- # @param [Object] value the parameter value (value of the JSON property)
182
- def raw(key, value) end
183
-
184
- # Customizes the consistency guarantees for this query
185
- #
186
- # * +:not_bounded+ The indexer will return whatever state it has to the query engine at the time of query. This is the default (for single-statement requests).
187
- #
188
- # * +:request_plus+ The indexer will wait until all mutations have been processed at the time of request before returning to the query engine.
189
- #
190
- # @param [:not_bounded, :request_plus] scan_consistency the index scan consistency to be used for this query
191
- def scan_consistency=(level)
192
- @scan_consistency = level
193
- end
194
-
195
- # Sets the mutation tokens this query should be consistent with
196
- #
197
- #
198
- # @param [MutationState] the mutation state containing the mutation tokens
199
- def consistent_with(mutation_state)
200
- @mutation_state = mutation_state
201
- end
202
-
203
- # Sets positional parameters for the query
204
- #
205
- # @param [Array] positional the list of parameters that have to be substituted in the statement
206
- def positional_parameters(positional)
207
- @positional_parameters = positional
208
- @named_parameters = nil
209
- end
210
-
211
- # Sets named parameters for the query
212
- #
213
- # @param [Hash] named the key/value map of the parameters to substitute in the statement
214
- def named_parameters(named)
215
- @named_parameters = named
216
- @positional_parameters = nil
217
- end
218
- end
219
-
220
- class AnalyticsOptions
221
- def initialize
222
- yield self if block_given?
223
- end
224
- end
225
-
226
- class SearchOptions
227
- def initialize
228
- yield self if block_given?
229
- end
230
- end
231
-
232
306
  class DiagnosticsOptions
233
307
  # @return [String] Holds custom report id.
234
308
  attr_accessor :report_id
@@ -240,9 +314,11 @@ module Couchbase
240
314
 
241
315
  private
242
316
 
317
+ # Initialize {Cluster} object
318
+ #
319
+ # @param [String] connection_string connection string used to locate the Couchbase Cluster
320
+ # @param [ClusterOptions] options custom options when creating the cluster connection
243
321
  def initialize(connection_string, options)
244
- hostname = connection_string[%r{^couchbase://(.*)}, 1]
245
- raise ArgumentError, "missing hostname" unless hostname
246
322
  raise ArgumentError, "options must have authenticator configured" unless options.authenticator
247
323
  username = options.authenticator.username
248
324
  raise ArgumentError, "missing username" unless username
@@ -250,7 +326,7 @@ module Couchbase
250
326
  raise ArgumentError, "missing password" unless password
251
327
 
252
328
  @backend = Backend.new
253
- @backend.open(hostname, username, password)
329
+ @backend.open(connection_string, username, password, {})
254
330
  end
255
331
  end
256
- end
332
+ end
@@ -12,9 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'couchbase/common_options'
16
- require 'couchbase/results'
17
- require 'couchbase/subdoc'
15
+ require "couchbase/errors"
16
+ require "couchbase/collection_options"
17
+ require "couchbase/binary_collection"
18
18
 
19
19
  module Couchbase
20
20
  class Collection
@@ -26,8 +26,8 @@ module Couchbase
26
26
 
27
27
  # @param [Couchbase::Backend] backend
28
28
  # @param [String] bucket_name name of the bucket
29
- # @param [String, :default] scope_name name of the scope
30
- # @param [String, :default] collection_name name of the collection
29
+ # @param [String, :_default] scope_name name of the scope
30
+ # @param [String, :_default] collection_name name of the collection
31
31
  def initialize(backend, bucket_name, scope_name, collection_name)
32
32
  @backend = backend
33
33
  @bucket_name = bucket_name
@@ -43,16 +43,27 @@ module Couchbase
43
43
  end
44
44
 
45
45
  # Fetches the full document from the collection
46
- #
46
+ #
47
47
  # @param [String] id the document id which is used to uniquely identify it
48
48
  # @param [GetOptions] options request customization
49
- #
49
+ #
50
50
  # @return [GetResult]
51
51
  def get(id, options = GetOptions.new)
52
- resp = @backend.get(bucket_name, "#{@scope_name}.#{@name}", id)
52
+ resp = if options.need_projected_get?
53
+ @backend.document_get_projected(bucket_name, "#{@scope_name}.#{@name}", id,
54
+ options.timeout,
55
+ options.with_expiry,
56
+ options.projections,
57
+ options.preserve_array_indexes)
58
+ else
59
+ @backend.document_get(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout)
60
+ end
53
61
  GetResult.new do |res|
62
+ res.transcoder = options.transcoder
54
63
  res.cas = resp[:cas]
55
- res.content = resp[:content]
64
+ res.flags = resp[:flags]
65
+ res.encoded = resp[:content]
66
+ res.expiry = resp[:expiry] if resp.key?(:expiry)
56
67
  end
57
68
  end
58
69
 
@@ -61,24 +72,40 @@ module Couchbase
61
72
  # @param [String] id the document id which is used to uniquely identify it.
62
73
  # @param [Integer] lock_time how long to lock the document (values over 30 seconds will be capped)
63
74
  # @param [GetAndLockOptions] options request customization
64
- #
75
+ #
65
76
  # @return [GetResult]
66
- def get_and_lock(id, lock_time, options = GetAndLockOptions.new) end
77
+ def get_and_lock(id, lock_time, options = GetAndLockOptions.new)
78
+ resp = @backend.document_get_and_lock(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, lock_time)
79
+ GetResult.new do |res|
80
+ res.transcoder = options.transcoder
81
+ res.cas = resp[:cas]
82
+ res.flags = resp[:flags]
83
+ res.encoded = resp[:content]
84
+ end
85
+ end
67
86
 
68
- # Fetches a full document and resets its expiration time to the expiration duration provided
87
+ # Fetches a full document and resets its expiration time to the duration provided
69
88
  #
70
89
  # @param [String] id the document id which is used to uniquely identify it.
71
- # @param [Integer] expiration the new expiration time for the document
90
+ # @param [Integer] expiry the new expiration time for the document
72
91
  # @param [GetAndTouchOptions] options request customization
73
- #
92
+ #
74
93
  # @return [GetResult]
75
- def get_and_touch(id, expiration, options = GetAndTouchOptions.new) end
94
+ def get_and_touch(id, expiry, options = GetAndTouchOptions.new)
95
+ resp = @backend.document_get_and_touch(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, expiry)
96
+ GetResult.new do |res|
97
+ res.transcoder = options.transcoder
98
+ res.cas = resp[:cas]
99
+ res.flags = resp[:flags]
100
+ res.encoded = resp[:content]
101
+ end
102
+ end
76
103
 
77
104
  # Reads from all available replicas and the active node and returns the results
78
- #
105
+ #
79
106
  # @param [String] id the document id which is used to uniquely identify it.
80
107
  # @param [GetAllReplicasOptions] options request customization
81
- #
108
+ #
82
109
  # @return [Array<GetReplicaResult>]
83
110
  def get_all_replicas(id, options = GetAllReplicasOptions.new) end
84
111
 
@@ -91,12 +118,19 @@ module Couchbase
91
118
  def get_any_replica(id, options = GetAnyReplicaOptions.new) end
92
119
 
93
120
  # Checks if the given document ID exists on the active partition.
94
- #
121
+ #
95
122
  # @param [String] id the document id which is used to uniquely identify it.
96
123
  # @param [ExistsOptions] options request customization
97
124
  #
98
125
  # @return [ExistsResult]
99
- def exists(id, options = ExistsOptions.new) end
126
+ def exists(id, options = ExistsOptions.new)
127
+ resp = @backend.document_exists(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout)
128
+ ExistsResult.new do |res|
129
+ res.status = resp[:status]
130
+ res.partition_id = resp[:partition_id]
131
+ res.cas = resp[:cas] if res.status != :not_found
132
+ end
133
+ end
100
134
 
101
135
  # Removes a document from the collection
102
136
  #
@@ -105,59 +139,97 @@ module Couchbase
105
139
  #
106
140
  # @return [MutationResult]
107
141
  def remove(id, options = RemoveOptions.new)
108
- resp = @backend.remove(bucket_name, "#{@scope_name}.#{@name}", id)
142
+ resp = @backend.document_remove(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, {
143
+ durability_level: options.durability_level
144
+ })
109
145
  MutationResult.new do |res|
110
146
  res.cas = resp[:cas]
147
+ res.mutation_token = extract_mutation_token(resp)
111
148
  end
112
149
  end
113
150
 
114
151
  # Inserts a full document which does not exist yet
115
- #
152
+ #
116
153
  # @param [String] id the document id which is used to uniquely identify it.
117
154
  # @param [Object] content the document content to insert
118
155
  # @param [InsertOptions] options request customization
119
156
  #
120
157
  # @return [MutationResult]
121
- def insert(id, content, options = InsertOptions.new) end
158
+ def insert(id, content, options = InsertOptions.new)
159
+ blob, flags = options.transcoder.encode(content)
160
+ resp = @backend.document_insert(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, blob, flags, {
161
+ durability_level: options.durability_level,
162
+ expiry: options.expiry,
163
+ })
164
+ MutationResult.new do |res|
165
+ res.cas = resp[:cas]
166
+ res.mutation_token = extract_mutation_token(resp)
167
+ end
168
+ end
122
169
 
123
170
  # Upserts (inserts or updates) a full document which might or might not exist yet
124
- #
171
+ #
125
172
  # @param [String] id the document id which is used to uniquely identify it.
126
173
  # @param [Object] content the document content to upsert
127
174
  # @param [UpsertOptions] options request customization
128
175
  #
129
176
  # @return [MutationResult]
130
177
  def upsert(id, content, options = UpsertOptions.new)
131
- resp = @backend.upsert(bucket_name, "#{@scope_name}.#{@name}", id, JSON.dump(content))
178
+ blob, flags = options.transcoder.encode(content)
179
+ resp = @backend.document_upsert(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, blob, flags, {
180
+ durability_level: options.durability_level,
181
+ expiry: options.expiry,
182
+ })
132
183
  MutationResult.new do |res|
133
184
  res.cas = resp[:cas]
185
+ res.mutation_token = extract_mutation_token(resp)
134
186
  end
135
187
  end
136
188
 
137
189
  # Replaces a full document which already exists
138
- #
190
+ #
139
191
  # @param [String] id the document id which is used to uniquely identify it.
140
192
  # @param [Object] content the document content to upsert
141
193
  # @param [ReplaceOptions] options request customization
142
194
  #
143
195
  # @return [MutationResult]
144
- def replace(id, content, options = ReplaceOptions.new) end
196
+ def replace(id, content, options = ReplaceOptions.new)
197
+ blob, flags = options.transcoder.encode(content)
198
+ resp = @backend.document_replace(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, blob, flags, {
199
+ durability_level: options.durability_level,
200
+ expiry: options.expiry,
201
+ cas: options.cas,
202
+ })
203
+ MutationResult.new do |res|
204
+ res.cas = resp[:cas]
205
+ res.mutation_token = extract_mutation_token(resp)
206
+ end
207
+ end
145
208
 
146
209
  # Update the expiration of the document with the given id
147
- #
210
+ #
148
211
  # @param [String] id the document id which is used to uniquely identify it.
149
- # @param [Integer] expiration new expiration time for the document
212
+ # @param [Integer] expiry new expiration time for the document
150
213
  # @param [TouchOptions] options request customization
151
214
  #
152
215
  # @return [MutationResult]
153
- def touch(id, expiration, options = TouchOptions.new) end
216
+ def touch(id, expiry, options = TouchOptions.new)
217
+ resp = @backend.document_touch(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, expiry)
218
+ MutationResult.new do |res|
219
+ res.cas = resp[:cas]
220
+ end
221
+ end
154
222
 
155
223
  # Unlocks a document if it has been locked previously
156
- #
224
+ #
157
225
  # @param [String] id the document id which is used to uniquely identify it.
158
226
  # @param [Integer] cas CAS value which is needed to unlock the document
159
- # @param [TouchOptions] options request customization
160
- def unlock(id, cas, options = UnlockOptions.new) end
227
+ # @param [UnlockOptions] options request customization
228
+ #
229
+ # @raise [Error::DocumentNotFound]
230
+ def unlock(id, cas, options = UnlockOptions.new)
231
+ @backend.document_unlock(bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, cas)
232
+ end
161
233
 
162
234
  # Performs lookups to document fragments
163
235
  #
@@ -167,19 +239,28 @@ module Couchbase
167
239
  #
168
240
  # @return [LookupInResult]
169
241
  def lookup_in(id, specs, options = LookupInOptions.new)
170
- resp = @backend.lookup_in(
171
- bucket_name, "#{@scope_name}.#{@name}", id, options.access_deleted,
172
- specs.map { |s| {opcode: s.type, xattr: s.xattr?, path: s.path} }
242
+ resp = @backend.document_lookup_in(
243
+ bucket_name, "#{@scope_name}.#{@name}", id, options.timeout, options.access_deleted,
244
+ specs.map { |s|
245
+ {
246
+ opcode: s.type,
247
+ xattr: s.xattr?,
248
+ path: s.path
249
+ }
250
+ }
173
251
  )
174
252
  LookupInResult.new do |res|
253
+ res.transcoder = options.transcoder
175
254
  res.cas = resp[:cas]
176
255
  res.encoded = resp[:fields].map do |field|
177
256
  SubDocumentField.new do |f|
178
257
  f.exists = field[:exists]
258
+ f.index = field[:index]
179
259
  f.path = field[:path]
180
260
  f.status = field[:status]
261
+ f.error = field[:error]
181
262
  f.value = field[:value]
182
- f.type = field[:opcode]
263
+ f.type = field[:type]
183
264
  end
184
265
  end
185
266
  end
@@ -193,186 +274,58 @@ module Couchbase
193
274
  #
194
275
  # @return [MutateInResult]
195
276
  def mutate_in(id, specs, options = MutateInOptions.new)
196
- resp = @backend.mutate_in(
197
- bucket_name, "#{@scope_name}.#{@name}", id, options.access_deleted,
198
- specs.map { |s| {opcode: s.type, path: s.path, param: s.param,
199
- xattr: s.xattr?, expand_macros: s.expand_macros?, create_parents: s.create_parents?} }
277
+ resp = @backend.document_mutate_in(
278
+ bucket_name, "#{@scope_name}.#{@name}", id, options.timeout,
279
+ specs.map { |s|
280
+ {
281
+ opcode: s.type,
282
+ path: s.path,
283
+ param: s.param,
284
+ xattr: s.xattr?,
285
+ expand_macros: s.expand_macros?,
286
+ create_path: s.create_path?
287
+ }
288
+ },
289
+ {
290
+ durability_level: options.durability_level,
291
+ store_semantics: options.store_semantics,
292
+ access_deleted: options.access_deleted,
293
+ cas: options.cas,
294
+ expiry: options.expiry,
295
+ }
200
296
  )
201
- MutateInResult.new do |res|
297
+ res = MutateInResult.new do |res|
298
+ res.transcoder = options.transcoder
202
299
  res.cas = resp[:cas]
300
+ res.mutation_token = extract_mutation_token(resp)
203
301
  res.first_error_index = resp[:first_error_index]
204
302
  res.encoded = resp[:fields].map do |field|
205
303
  SubDocumentField.new do |f|
206
304
  f.exists = field[:exists]
207
305
  f.path = field[:path]
208
306
  f.status = field[:status]
307
+ f.error = field[:error]
209
308
  f.value = field[:value]
210
- f.type = field[:opcode]
309
+ f.type = field[:type]
211
310
  end
212
311
  end
213
312
  end
214
- end
215
-
216
- class GetOptions < CommonOptions
217
- # @return [Boolean] if the expiration should also fetched with get
218
- attr_accessor :with_expiry
219
-
220
- # @return [Proc] transcoder used for decoding
221
- attr_accessor :transcoder
222
-
223
- def initialize
224
- yield self if block_given?
225
- end
226
-
227
- # Allows to specify a custom list paths to fetch from the document instead of the whole.
228
- #
229
- # Note that a maximum of 16 individual paths can be projected at a time due to a server limitation. If you need
230
- # more than that, think about fetching less-generic paths or the full document straight away.
231
- #
232
- # @param [String, Array<String>] paths a path that should be loaded if present.
233
- def project(*paths)
234
- @projections ||= []
235
- @projections |= paths # union with current projections
236
- end
237
- end
238
-
239
- class GetAndLockOptions < CommonOptions
240
- # @return [Proc] transcoder used for decoding
241
- attr_accessor :transcoder
242
-
243
- def initialize
244
- yield self if block_given?
245
- end
246
- end
247
-
248
- class GetAndTouchOptions < CommonOptions
249
- # @return [Proc] transcoder used for decoding
250
- attr_accessor :transcoder
251
-
252
- def initialize
253
- yield self if block_given?
254
- end
255
- end
256
-
257
- class GetAllReplicasOptions < CommonOptions
258
- # @return [Proc] transcoder used for decoding
259
- attr_accessor :transcoder
260
-
261
- def initialize
262
- yield self if block_given?
263
- end
264
- end
265
-
266
- class GetAnyReplicaOptions < CommonOptions
267
- # @return [Proc] transcoder used for decoding
268
- attr_accessor :transcoder
269
-
270
- def initialize
271
- yield self if block_given?
272
- end
273
- end
274
-
275
- class ExistsOptions < CommonOptions
276
- def initialize
277
- yield self if block_given?
278
- end
279
- end
280
-
281
- class RemoveOptions < CommonOptions
282
- # @return [Integer] Specifies a CAS value that will be taken into account on the server side for optimistic concurrency
283
- attr_accessor :cas
284
-
285
- def initialize
286
- yield self if block_given?
287
- end
288
- end
289
-
290
- class InsertOptions < CommonOptions
291
- # @return [Integer] expiration time to associate with the document
292
- attr_accessor :expiration
293
-
294
- # @return [Proc] transcoder used for encoding
295
- attr_accessor :transcoder
296
-
297
- def initialize
298
- yield self if block_given?
299
- end
300
- end
301
-
302
- class UpsertOptions < CommonOptions
303
- # @return [Integer] expiration time to associate with the document
304
- attr_accessor :expiration
305
-
306
- # @return [Proc] transcoder used for encoding
307
- attr_accessor :transcoder
308
-
309
- def initialize
310
- yield self if block_given?
311
- end
312
- end
313
-
314
- class ReplaceOptions < CommonOptions
315
- # @return [Integer] expiration time to associate with the document
316
- attr_accessor :expiration
317
-
318
- # @return [Proc] transcoder used for encoding
319
- attr_accessor :transcoder
320
-
321
- # @return [Integer] Specifies a CAS value that will be taken into account on the server side for optimistic concurrency
322
- attr_accessor :cas
323
-
324
- def initialize
325
- yield self if block_given?
326
- end
327
- end
328
-
329
- class TouchOptions < CommonOptions
330
- def initialize
331
- yield self if block_given?
332
- end
333
- end
334
-
335
- class UnlockOptions < CommonOptions
336
- def initialize
337
- yield self if block_given?
338
- end
339
- end
340
-
341
- class LookupInOptions < CommonOptions
342
- # @return [Boolean] For internal use only: allows access to deleted documents that are in 'tombstone' form
343
- attr_accessor :access_deleted
344
-
345
- def initialize
346
- yield self if block_given?
313
+ if res.success?
314
+ res
315
+ else
316
+ raise res.first_error
347
317
  end
348
318
  end
349
319
 
350
- class MutateInOptions < CommonOptions
351
- # @return [Integer] expiration time to associate with the document
352
- attr_accessor :expiration
353
-
354
- # Describes how the outer document store semantics on subdoc should act
355
- #
356
- # * +:replace+: replace the document, fail if it does not exist. This is the default
357
- # * +:upsert+: replace the document or create if it does not exist
358
- # * +:insert+: create the document, fail if it exists
359
- #
360
- # @return [:replace, :upsert, :insert]
361
- attr_accessor :store_semantics
362
-
363
- # @return [Integer] Specifies a CAS value that will be taken into account on the server side for optimistic concurrency
364
- attr_accessor :cas
365
-
366
- # @return [Boolean] For internal use only: allows access to deleted documents that are in 'tombstone' form
367
- attr_accessor :access_deleted
368
-
369
- # @return [Boolean] For internal use only: allows creating documents in 'tombstone' form
370
- attr_accessor :create_as_deleted
320
+ private
371
321
 
372
- def initialize
373
- @store_semantics = :replace
374
- yield self if block_given?
322
+ def extract_mutation_token(resp)
323
+ MutationToken.new do |token|
324
+ token.partition_id = resp[:mutation_token][:partition_id]
325
+ token.partition_uuid = resp[:mutation_token][:partition_uuid]
326
+ token.sequence_number = resp[:mutation_token][:sequence_number]
327
+ token.bucket_name = resp[:mutation_token][:bucket_name]
375
328
  end
376
329
  end
377
330
  end
378
- end
331
+ end