couchbase 3.0.0.alpha.3 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1683) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -4
  3. data/ext/CMakeLists.txt +92 -128
  4. data/ext/build_config.hxx.in +20 -0
  5. data/ext/build_version.hxx.in +3 -2
  6. data/ext/cmake/Backtrace.cmake +35 -0
  7. data/ext/cmake/BuildTracing.cmake +6 -0
  8. data/ext/cmake/Cache.cmake +29 -0
  9. data/ext/cmake/CompilerWarnings.cmake +78 -0
  10. data/ext/cmake/PreventInSourceBuilds.cmake +18 -0
  11. data/ext/cmake/Sanitizers.cmake +66 -0
  12. data/ext/cmake/StandardProjectSettings.cmake +40 -0
  13. data/ext/cmake/StaticAnalyzers.cmake +37 -0
  14. data/ext/cmake/Testing.cmake +52 -0
  15. data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
  16. data/ext/cmake/VersionInfo.cmake +37 -0
  17. data/ext/couchbase/bucket.hxx +261 -19
  18. data/ext/couchbase/capabilities.hxx +117 -0
  19. data/ext/couchbase/cbcrypto/cbcrypto.cc +15 -15
  20. data/ext/couchbase/cluster.hxx +179 -87
  21. data/ext/couchbase/cluster_options.hxx +54 -0
  22. data/ext/couchbase/configuration.hxx +438 -44
  23. data/ext/couchbase/couchbase.cxx +3523 -1062
  24. data/ext/couchbase/diagnostics.hxx +251 -0
  25. data/ext/couchbase/document_id.hxx +3 -1
  26. data/ext/couchbase/error_map.hxx +202 -2
  27. data/ext/couchbase/errors.hxx +18 -3
  28. data/ext/couchbase/io/dns_client.hxx +217 -0
  29. data/ext/couchbase/io/dns_codec.hxx +207 -0
  30. data/ext/couchbase/io/dns_config.hxx +116 -0
  31. data/ext/couchbase/io/dns_message.hxx +555 -0
  32. data/ext/couchbase/io/http_command.hxx +95 -0
  33. data/ext/couchbase/io/http_context.hxx +37 -0
  34. data/ext/couchbase/io/http_message.hxx +9 -0
  35. data/ext/couchbase/io/http_parser.hxx +2 -0
  36. data/ext/couchbase/io/http_session.hxx +187 -49
  37. data/ext/couchbase/io/http_session_manager.hxx +182 -0
  38. data/ext/couchbase/io/mcbp_command.hxx +246 -0
  39. data/ext/couchbase/io/mcbp_message.hxx +24 -2
  40. data/ext/couchbase/io/mcbp_session.hxx +558 -163
  41. data/ext/couchbase/io/query_cache.hxx +61 -0
  42. data/ext/couchbase/io/retry_action.hxx +30 -0
  43. data/ext/couchbase/io/retry_context.hxx +38 -0
  44. data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
  45. data/ext/couchbase/io/retry_reason.hxx +235 -0
  46. data/ext/couchbase/io/retry_strategy.hxx +156 -0
  47. data/ext/couchbase/io/streams.hxx +216 -0
  48. data/ext/couchbase/mutation_token.hxx +1 -1
  49. data/ext/couchbase/operations.hxx +33 -1
  50. data/ext/couchbase/operations/analytics_dataset_create.hxx +117 -0
  51. data/ext/couchbase/operations/analytics_dataset_drop.hxx +103 -0
  52. data/ext/couchbase/operations/analytics_dataset_get_all.hxx +107 -0
  53. data/ext/couchbase/operations/analytics_dataverse_create.hxx +104 -0
  54. data/ext/couchbase/operations/analytics_dataverse_drop.hxx +104 -0
  55. data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +91 -0
  56. data/ext/couchbase/operations/analytics_index_create.hxx +128 -0
  57. data/ext/couchbase/operations/analytics_index_drop.hxx +110 -0
  58. data/ext/couchbase/operations/analytics_index_get_all.hxx +106 -0
  59. data/ext/couchbase/operations/analytics_link_connect.hxx +102 -0
  60. data/ext/couchbase/operations/analytics_link_disconnect.hxx +101 -0
  61. data/ext/couchbase/operations/bucket_create.hxx +15 -7
  62. data/ext/couchbase/operations/bucket_drop.hxx +5 -3
  63. data/ext/couchbase/operations/bucket_flush.hxx +5 -3
  64. data/ext/couchbase/operations/bucket_get.hxx +5 -3
  65. data/ext/couchbase/operations/bucket_get_all.hxx +5 -3
  66. data/ext/couchbase/operations/bucket_settings.hxx +43 -4
  67. data/ext/couchbase/operations/bucket_update.hxx +15 -7
  68. data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +5 -3
  69. data/ext/couchbase/operations/collection_create.hxx +7 -3
  70. data/ext/couchbase/operations/collection_drop.hxx +5 -3
  71. data/ext/couchbase/operations/collections_manifest_get.hxx +70 -0
  72. data/ext/couchbase/operations/design_document.hxx +59 -0
  73. data/ext/couchbase/operations/document_analytics.hxx +293 -0
  74. data/ext/couchbase/operations/document_decrement.hxx +10 -4
  75. data/ext/couchbase/operations/document_exists.hxx +4 -1
  76. data/ext/couchbase/operations/document_get.hxx +7 -1
  77. data/ext/couchbase/operations/document_get_and_lock.hxx +7 -1
  78. data/ext/couchbase/operations/document_get_and_touch.hxx +9 -3
  79. data/ext/couchbase/operations/document_get_projected.hxx +16 -10
  80. data/ext/couchbase/operations/document_increment.hxx +10 -4
  81. data/ext/couchbase/operations/document_insert.hxx +9 -3
  82. data/ext/couchbase/operations/document_lookup_in.hxx +26 -1
  83. data/ext/couchbase/operations/document_mutate_in.hxx +50 -2
  84. data/ext/couchbase/operations/document_query.hxx +103 -17
  85. data/ext/couchbase/operations/document_remove.hxx +7 -1
  86. data/ext/couchbase/operations/document_replace.hxx +9 -3
  87. data/ext/couchbase/operations/document_search.hxx +46 -13
  88. data/ext/couchbase/operations/document_touch.hxx +9 -3
  89. data/ext/couchbase/operations/document_unlock.hxx +7 -1
  90. data/ext/couchbase/operations/document_upsert.hxx +9 -3
  91. data/ext/couchbase/operations/document_view.hxx +228 -0
  92. data/ext/couchbase/operations/group_drop.hxx +71 -0
  93. data/ext/couchbase/operations/group_get.hxx +75 -0
  94. data/ext/couchbase/operations/group_get_all.hxx +70 -0
  95. data/ext/couchbase/operations/group_upsert.hxx +118 -0
  96. data/ext/couchbase/operations/query_index_build_deferred.hxx +4 -4
  97. data/ext/couchbase/operations/query_index_create.hxx +18 -8
  98. data/ext/couchbase/operations/query_index_drop.hxx +16 -6
  99. data/ext/couchbase/operations/query_index_get_all.hxx +15 -5
  100. data/ext/couchbase/operations/rbac.hxx +276 -0
  101. data/ext/couchbase/operations/role_get_all.hxx +70 -0
  102. data/ext/couchbase/operations/scope_create.hxx +10 -4
  103. data/ext/couchbase/operations/scope_drop.hxx +5 -3
  104. data/ext/couchbase/operations/scope_get_all.hxx +5 -3
  105. data/ext/couchbase/operations/search_get_stats.hxx +59 -0
  106. data/ext/couchbase/operations/search_index.hxx +17 -0
  107. data/ext/couchbase/operations/search_index_analyze_document.hxx +3 -3
  108. data/ext/couchbase/operations/search_index_control_ingest.hxx +6 -4
  109. data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +3 -3
  110. data/ext/couchbase/operations/search_index_control_query.hxx +3 -3
  111. data/ext/couchbase/operations/search_index_drop.hxx +3 -3
  112. data/ext/couchbase/operations/search_index_get.hxx +3 -3
  113. data/ext/couchbase/operations/search_index_get_all.hxx +3 -3
  114. data/ext/couchbase/operations/search_index_get_documents_count.hxx +26 -18
  115. data/ext/couchbase/operations/search_index_get_stats.hxx +81 -0
  116. data/ext/couchbase/operations/search_index_upsert.hxx +3 -3
  117. data/ext/couchbase/operations/user_drop.hxx +72 -0
  118. data/ext/couchbase/operations/user_get.hxx +76 -0
  119. data/ext/couchbase/operations/user_get_all.hxx +71 -0
  120. data/ext/couchbase/operations/user_upsert.hxx +125 -0
  121. data/ext/couchbase/operations/view_index_drop.hxx +67 -0
  122. data/ext/couchbase/operations/view_index_get.hxx +90 -0
  123. data/ext/couchbase/operations/view_index_get_all.hxx +125 -0
  124. data/ext/couchbase/operations/view_index_upsert.hxx +87 -0
  125. data/ext/couchbase/origin.hxx +178 -0
  126. data/ext/couchbase/platform/backtrace.c +189 -0
  127. data/ext/couchbase/platform/backtrace.h +54 -0
  128. data/ext/couchbase/platform/terminate_handler.cc +123 -0
  129. data/ext/couchbase/platform/terminate_handler.h +36 -0
  130. data/ext/couchbase/protocol/client_opcode.hxx +44 -40
  131. data/ext/couchbase/protocol/client_response.hxx +3 -3
  132. data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +6 -8
  133. data/ext/couchbase/protocol/cmd_decrement.hxx +5 -5
  134. data/ext/couchbase/protocol/cmd_get_and_touch.hxx +5 -5
  135. data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +9 -7
  136. data/ext/couchbase/protocol/cmd_hello.hxx +10 -0
  137. data/ext/couchbase/protocol/cmd_increment.hxx +5 -5
  138. data/ext/couchbase/protocol/cmd_info.hxx +0 -11
  139. data/ext/couchbase/protocol/cmd_insert.hxx +5 -5
  140. data/ext/couchbase/protocol/cmd_lookup_in.hxx +1 -0
  141. data/ext/couchbase/protocol/cmd_mutate_in.hxx +53 -5
  142. data/ext/couchbase/protocol/cmd_replace.hxx +5 -5
  143. data/ext/couchbase/protocol/cmd_touch.hxx +1 -1
  144. data/ext/couchbase/protocol/cmd_upsert.hxx +5 -5
  145. data/ext/couchbase/protocol/magic.hxx +6 -6
  146. data/ext/couchbase/protocol/server_opcode.hxx +2 -2
  147. data/ext/couchbase/protocol/status.hxx +70 -60
  148. data/ext/couchbase/service_type.hxx +38 -1
  149. data/ext/couchbase/timeout_defaults.hxx +10 -1
  150. data/ext/couchbase/utils/connection_string.hxx +379 -0
  151. data/ext/couchbase/version.hxx +2 -2
  152. data/ext/extconf.rb +72 -24
  153. data/ext/test/test_helper.hxx +141 -0
  154. data/ext/test/test_helper_native.hxx +59 -0
  155. data/ext/test/test_helper_ruby.hxx +72 -0
  156. data/ext/test/test_native_diagnostics.cxx +385 -0
  157. data/ext/test/test_native_trivial_crud.cxx +83 -0
  158. data/ext/test/test_ruby_trivial_crud.cxx +35 -0
  159. data/ext/test/test_ruby_trivial_query.cxx +34 -0
  160. data/ext/third_party/asio/asio/include/asio.hpp +35 -0
  161. data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
  162. data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +1 -7
  163. data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +36 -19
  164. data/ext/third_party/asio/asio/include/asio/async_result.hpp +1 -8
  165. data/ext/third_party/asio/asio/include/asio/awaitable.hpp +14 -4
  166. data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +12 -7
  167. data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +4 -4
  168. data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +11 -7
  169. data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +9 -4
  170. data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +6 -6
  171. data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +4 -4
  172. data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +5 -5
  173. data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +13 -7
  174. data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +7 -3
  175. data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +52 -4
  176. data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +10 -15
  177. data/ext/third_party/asio/asio/include/asio/buffer.hpp +6 -4
  178. data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +380 -9
  179. data/ext/third_party/asio/asio/include/asio/defer.hpp +4 -1
  180. data/ext/third_party/asio/asio/include/asio/detached.hpp +50 -0
  181. data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +19 -0
  182. data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +144 -26
  183. data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
  184. data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +106 -0
  185. data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
  186. data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +10 -5
  187. data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +8 -0
  188. data/ext/third_party/asio/asio/include/asio/detail/config.hpp +360 -37
  189. data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +17 -2
  190. data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +24 -6
  191. data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +32 -14
  192. data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +32 -14
  193. data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +133 -34
  194. data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +42 -0
  195. data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +23 -0
  196. data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +26 -0
  197. data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +370 -45
  198. data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +208 -74
  199. data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +39 -1
  200. data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +12 -15
  201. data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +37 -0
  202. data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +2 -1
  203. data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +661 -274
  204. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +210 -4
  205. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +8 -9
  206. data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +5 -4
  207. data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +15 -6
  208. data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +32 -50
  209. data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +3 -0
  210. data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +6 -0
  211. data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +1 -1
  212. data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +13 -0
  213. data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +1 -1
  214. data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +38 -13
  215. data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +12 -6
  216. data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +2 -3
  217. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +36 -24
  218. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +17 -10
  219. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +38 -16
  220. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +36 -14
  221. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +21 -11
  222. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +43 -17
  223. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +39 -17
  224. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +44 -21
  225. data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +41 -18
  226. data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +12 -6
  227. data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +3 -1
  228. data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +10 -8
  229. data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +11 -9
  230. data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +8 -0
  231. data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +7 -5
  232. data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +46 -0
  233. data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
  234. data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +12 -0
  235. data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +25 -1
  236. data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +4 -1
  237. data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +58 -0
  238. data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +59 -0
  239. data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +144 -1
  240. data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +9 -6
  241. data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +13 -0
  242. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +9 -5
  243. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +9 -5
  244. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +5 -1
  245. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +10 -6
  246. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +9 -5
  247. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +18 -6
  248. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +15 -11
  249. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +10 -5
  250. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +8 -4
  251. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +8 -4
  252. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +8 -4
  253. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +8 -4
  254. data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +10 -5
  255. data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +8 -4
  256. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +8 -4
  257. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +8 -4
  258. data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +8 -4
  259. data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +81 -6
  260. data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +45 -9
  261. data/ext/third_party/asio/asio/include/asio/dispatch.hpp +4 -1
  262. data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
  263. data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
  264. data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
  265. data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
  266. data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
  267. data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
  268. data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
  269. data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
  270. data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
  271. data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
  272. data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
  273. data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
  274. data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
  275. data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
  276. data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
  277. data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
  278. data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
  279. data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
  280. data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
  281. data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
  282. data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
  283. data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
  284. data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
  285. data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
  286. data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
  287. data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
  288. data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
  289. data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
  290. data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
  291. data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
  292. data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
  293. data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
  294. data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
  295. data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
  296. data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
  297. data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
  298. data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
  299. data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
  300. data/ext/third_party/asio/asio/include/asio/executor.hpp +7 -1
  301. data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +126 -9
  302. data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +28 -5
  303. data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +29 -3
  304. data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +14 -0
  305. data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +44 -8
  306. data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +44 -8
  307. data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +145 -7
  308. data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +124 -22
  309. data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +52 -8
  310. data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +147 -12
  311. data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +142 -12
  312. data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +15 -101
  313. data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +5 -0
  314. data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +13 -4
  315. data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +144 -57
  316. data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
  317. data/ext/third_party/asio/asio/include/asio/impl/post.hpp +147 -12
  318. data/ext/third_party/asio/asio/include/asio/impl/read.hpp +85 -18
  319. data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +59 -14
  320. data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +241 -56
  321. data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +22 -4
  322. data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +58 -22
  323. data/ext/third_party/asio/asio/include/asio/impl/src.hpp +3 -0
  324. data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +16 -4
  325. data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +113 -12
  326. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +260 -37
  327. data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +61 -7
  328. data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +5 -2
  329. data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +147 -6
  330. data/ext/third_party/asio/asio/include/asio/impl/write.hpp +75 -14
  331. data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +53 -11
  332. data/ext/third_party/asio/asio/include/asio/io_context.hpp +706 -48
  333. data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +3 -1
  334. data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +4 -4
  335. data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
  336. data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
  337. data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +4 -4
  338. data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +5 -5
  339. data/ext/third_party/asio/asio/include/asio/post.hpp +4 -1
  340. data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
  341. data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
  342. data/ext/third_party/asio/asio/include/asio/read_until.hpp +6 -6
  343. data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
  344. data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
  345. data/ext/third_party/asio/asio/include/asio/spawn.hpp +12 -4
  346. data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +5 -0
  347. data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +5 -0
  348. data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +5 -0
  349. data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +16 -3
  350. data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +38 -4
  351. data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +5 -0
  352. data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +5 -0
  353. data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +36 -2
  354. data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +10 -1
  355. data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +15 -0
  356. data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
  357. data/ext/third_party/asio/asio/include/asio/strand.hpp +232 -9
  358. data/ext/third_party/asio/asio/include/asio/system_context.hpp +12 -3
  359. data/ext/third_party/asio/asio/include/asio/system_executor.hpp +557 -24
  360. data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +913 -37
  361. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
  362. data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
  363. data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
  364. data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
  365. data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
  366. data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
  367. data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
  368. data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
  369. data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
  370. data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
  371. data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
  372. data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
  373. data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
  374. data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
  375. data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
  376. data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
  377. data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
  378. data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
  379. data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
  380. data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
  381. data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
  382. data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
  383. data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
  384. data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
  385. data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
  386. data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
  387. data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
  388. data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
  389. data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
  390. data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
  391. data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
  392. data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +1 -0
  393. data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +67 -8
  394. data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +63 -4
  395. data/ext/third_party/asio/asio/include/asio/version.hpp +1 -1
  396. data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +4 -4
  397. data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +2 -2
  398. data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +5 -5
  399. data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +5 -5
  400. data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +4 -2
  401. data/ext/third_party/gsl/CMakeLists.txt +13 -5
  402. data/ext/third_party/gsl/include/gsl/gsl_assert +1 -1
  403. data/ext/third_party/gsl/include/gsl/gsl_byte +3 -3
  404. data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
  405. data/ext/third_party/gsl/include/gsl/gsl_util +8 -50
  406. data/ext/third_party/gsl/include/gsl/multi_span +0 -10
  407. data/ext/third_party/gsl/include/gsl/pointers +14 -28
  408. data/ext/third_party/gsl/include/gsl/span +98 -46
  409. data/ext/third_party/gsl/include/gsl/string_span +37 -47
  410. data/ext/third_party/http_parser/http_parser.c +17 -10
  411. data/ext/third_party/http_parser/http_parser.h +4 -2
  412. data/ext/third_party/json/include/tao/json/basic_value.hpp +3 -2
  413. data/ext/third_party/json/include/tao/json/binary.hpp +4 -4
  414. data/ext/third_party/json/include/tao/json/binary_view.hpp +2 -2
  415. data/ext/third_party/json/include/tao/json/binding.hpp +2 -2
  416. data/ext/third_party/json/include/tao/json/binding/factory.hpp +8 -7
  417. data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +2 -1
  418. data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +6 -5
  419. data/ext/third_party/json/include/tao/json/binding/versions.hpp +3 -1
  420. data/ext/third_party/json/include/tao/json/cbor.hpp +1 -0
  421. data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +7 -7
  422. data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
  423. data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +4 -4
  424. data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +3 -3
  425. data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
  426. data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +5 -5
  427. data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +2 -1
  428. data/ext/third_party/json/include/tao/json/consume_file.hpp +7 -7
  429. data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +13 -6
  430. data/ext/third_party/json/include/tao/json/contrib/position.hpp +15 -15
  431. data/ext/third_party/json/include/tao/json/contrib/reference.hpp +5 -7
  432. data/ext/third_party/json/include/tao/json/contrib/schema.hpp +58 -35
  433. data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +12 -4
  434. data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +12 -4
  435. data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +1 -1
  436. data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +2 -2
  437. data/ext/third_party/json/include/tao/json/events/compare.hpp +2 -12
  438. data/ext/third_party/json/include/tao/json/events/from_file.hpp +4 -4
  439. data/ext/third_party/json/include/tao/json/events/from_string.hpp +2 -2
  440. data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +1 -1
  441. data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +3 -3
  442. data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +1 -1
  443. data/ext/third_party/json/include/tao/json/events/tee.hpp +2 -2
  444. data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +1 -1
  445. data/ext/third_party/json/include/tao/json/events/to_stream.hpp +1 -1
  446. data/ext/third_party/json/include/tao/json/events/transformer.hpp +3 -3
  447. data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +3 -3
  448. data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +6 -0
  449. data/ext/third_party/json/include/tao/json/external/pegtl.hpp +4 -13
  450. data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +3 -5
  451. data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +5 -18
  452. data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +3 -3
  453. data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +2 -2
  454. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +6 -6
  455. data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +5 -5
  456. data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +2 -2
  457. data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +6 -6
  458. data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +5 -5
  459. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +52 -52
  460. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
  461. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
  462. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
  463. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
  464. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
  465. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +37 -18
  466. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +20 -22
  467. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +6 -10
  468. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +6 -10
  469. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +2 -4
  470. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +11 -10
  471. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +116 -131
  472. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +62 -0
  473. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +206 -0
  474. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +106 -0
  475. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
  476. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
  477. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +45 -0
  478. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +32 -0
  479. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +54 -0
  480. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +43 -0
  481. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +77 -0
  482. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
  483. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +80 -201
  484. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +11 -10
  485. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
  486. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
  487. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +45 -36
  488. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +33 -50
  489. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
  490. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +43 -11
  491. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +1 -2
  492. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
  493. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
  494. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
  495. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +62 -0
  496. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +62 -0
  497. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +63 -0
  498. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +36 -0
  499. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +14 -14
  500. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +1 -1
  501. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +49 -0
  502. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +49 -0
  503. data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +2 -3
  504. data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +138 -0
  505. data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +2 -2
  506. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +2 -2
  507. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +2 -2
  508. data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +2 -2
  509. data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +2 -2
  510. data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +1 -1
  511. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +19 -9
  512. data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +7 -8
  513. data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +14 -14
  514. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +9 -9
  515. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +8 -7
  516. data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +4 -4
  517. data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +17 -15
  518. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +7 -6
  519. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +8 -8
  520. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +4 -4
  521. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +3 -3
  522. data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +17 -10
  523. data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +19 -9
  524. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +2 -2
  525. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +2 -2
  526. data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +2 -2
  527. data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +1 -1
  528. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +16 -0
  529. data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +19 -9
  530. data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +7 -6
  531. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +19 -9
  532. data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +25 -0
  533. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +7 -6
  534. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +8 -7
  535. data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +8 -7
  536. data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
  537. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +61 -10
  538. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +27 -33
  539. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +29 -26
  540. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +3 -7
  541. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +3 -7
  542. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +4 -20
  543. data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
  544. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +8 -7
  545. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +8 -9
  546. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +2 -0
  547. data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +7 -7
  548. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +1 -2
  549. data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +11 -11
  550. data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +7 -10
  551. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +2 -2
  552. data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +2 -2
  553. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +4 -2
  554. data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +1 -1
  555. data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +3 -5
  556. data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
  557. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +5 -2
  558. data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +5 -2
  559. data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +16 -24
  560. data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +17 -15
  561. data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +23 -12
  562. data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +16 -16
  563. data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
  564. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +5 -5
  565. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +12 -13
  566. data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +18 -11
  567. data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +8 -17
  568. data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +22 -17
  569. data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +28 -18
  570. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +12 -9
  571. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +26 -25
  572. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +23 -21
  573. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +24 -9
  574. data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +10 -10
  575. data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +4 -4
  576. data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +18 -33
  577. data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +24 -17
  578. data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +13 -8
  579. data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +21 -11
  580. data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +11 -11
  581. data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
  582. data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +16 -16
  583. data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +18 -14
  584. data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +2 -3
  585. data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +125 -29
  586. data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +32 -48
  587. data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +16 -16
  588. data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
  589. data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +25 -25
  590. data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +1 -2
  591. data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +6 -8
  592. data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +80 -35
  593. data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +18 -10
  594. data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +18 -38
  595. data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +6 -5
  596. data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +3 -5
  597. data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
  598. data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
  599. data/ext/third_party/json/include/tao/json/from_file.hpp +5 -5
  600. data/ext/third_party/json/include/tao/json/internal/action.hpp +3 -3
  601. data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
  602. data/ext/third_party/json/include/tao/json/internal/errors.hpp +17 -17
  603. data/ext/third_party/json/include/tao/json/internal/format.hpp +0 -2
  604. data/ext/third_party/json/include/tao/json/internal/grammar.hpp +17 -17
  605. data/ext/third_party/json/include/tao/json/internal/pair.hpp +1 -1
  606. data/ext/third_party/json/include/tao/json/internal/sha256.hpp +8 -8
  607. data/ext/third_party/json/include/tao/json/internal/single.hpp +1 -1
  608. data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +12 -29
  609. data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +7 -7
  610. data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +4 -4
  611. data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +2 -2
  612. data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +5 -5
  613. data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +6 -6
  614. data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +2 -2
  615. data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +43 -43
  616. data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +36 -36
  617. data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +10 -11
  618. data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +2 -2
  619. data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +1 -3
  620. data/ext/third_party/json/include/tao/json/message_extension.hpp +2 -2
  621. data/ext/third_party/json/include/tao/json/msgpack.hpp +1 -0
  622. data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +7 -7
  623. data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
  624. data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +4 -4
  625. data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +4 -4
  626. data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +4 -4
  627. data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
  628. data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +5 -5
  629. data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +2 -1
  630. data/ext/third_party/json/include/tao/json/operators.hpp +0 -4
  631. data/ext/third_party/json/include/tao/json/parts_parser.hpp +3 -7
  632. data/ext/third_party/json/include/tao/json/self_contained.hpp +6 -18
  633. data/ext/third_party/json/include/tao/json/span.hpp +94 -166
  634. data/ext/third_party/json/include/tao/json/ubjson.hpp +1 -0
  635. data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +7 -7
  636. data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
  637. data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +4 -4
  638. data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +3 -3
  639. data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
  640. data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +5 -5
  641. data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +5 -3
  642. data/ext/third_party/json/include/tao/json/utf8.hpp +1 -1
  643. data/ext/third_party/snappy/snappy.cc +6 -2
  644. data/ext/third_party/spdlog/CMakeLists.txt +24 -57
  645. data/ext/third_party/spdlog/cmake/version.rc.in +1 -1
  646. data/ext/third_party/spdlog/include/spdlog/async.h +3 -3
  647. data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +3 -4
  648. data/ext/third_party/spdlog/include/spdlog/cfg/env.h +6 -4
  649. data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +22 -6
  650. data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +3 -2
  651. data/ext/third_party/spdlog/include/spdlog/common.h +1 -2
  652. data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +9 -1
  653. data/ext/third_party/spdlog/include/spdlog/details/os.h +1 -1
  654. data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +21 -7
  655. data/ext/third_party/spdlog/include/spdlog/details/registry.h +6 -3
  656. data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +1 -1
  657. data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +1 -1
  658. data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +8 -7
  659. data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +2 -2
  660. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +66 -62
  661. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +35 -37
  662. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +173 -103
  663. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +538 -445
  664. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +114 -64
  665. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +1152 -1071
  666. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +16 -16
  667. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
  668. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +37 -13
  669. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +1 -1
  670. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +93 -63
  671. data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +35 -36
  672. data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
  673. data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +2 -0
  674. data/ext/third_party/spdlog/include/spdlog/logger-inl.h +5 -1
  675. data/ext/third_party/spdlog/include/spdlog/logger.h +50 -76
  676. data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +23 -8
  677. data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +3 -3
  678. data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +1 -1
  679. data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +5 -5
  680. data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +6 -4
  681. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +32 -3
  682. data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +7 -0
  683. data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +4 -14
  684. data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +11 -1
  685. data/ext/third_party/spdlog/include/spdlog/spdlog.h +23 -68
  686. data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
  687. data/ext/third_party/spdlog/include/spdlog/version.h +2 -2
  688. data/ext/third_party/spdlog/src/fmt.cpp +21 -147
  689. data/lib/couchbase.rb +0 -1
  690. data/lib/couchbase/analytics_options.rb +177 -0
  691. data/lib/couchbase/authenticator.rb +14 -0
  692. data/lib/couchbase/binary_collection.rb +9 -9
  693. data/lib/couchbase/binary_collection_options.rb +10 -8
  694. data/lib/couchbase/bucket.rb +55 -3
  695. data/lib/couchbase/cluster.rb +286 -287
  696. data/lib/couchbase/collection.rb +50 -40
  697. data/lib/couchbase/collection_options.rb +97 -17
  698. data/lib/couchbase/common_options.rb +1 -1
  699. data/lib/couchbase/datastructures.rb +18 -0
  700. data/lib/couchbase/datastructures/couchbase_list.rb +171 -0
  701. data/lib/couchbase/datastructures/couchbase_map.rb +205 -0
  702. data/lib/couchbase/datastructures/couchbase_queue.rb +145 -0
  703. data/lib/couchbase/datastructures/couchbase_set.rb +139 -0
  704. data/lib/couchbase/errors.rb +79 -66
  705. data/lib/couchbase/json_transcoder.rb +2 -2
  706. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  707. data/lib/couchbase/management/bucket_manager.rb +61 -28
  708. data/lib/couchbase/management/collection_manager.rb +3 -3
  709. data/lib/couchbase/management/query_index_manager.rb +59 -14
  710. data/lib/couchbase/management/search_index_manager.rb +57 -13
  711. data/lib/couchbase/management/user_manager.rb +157 -50
  712. data/lib/couchbase/management/view_index_manager.rb +70 -11
  713. data/lib/couchbase/mutation_state.rb +13 -0
  714. data/lib/couchbase/query_options.rb +263 -0
  715. data/lib/couchbase/scope.rb +62 -8
  716. data/lib/couchbase/search_options.rb +121 -33
  717. data/lib/couchbase/subdoc.rb +87 -23
  718. data/lib/couchbase/version.rb +2 -2
  719. data/lib/couchbase/view_options.rb +155 -0
  720. metadata +226 -1037
  721. data/.github/workflows/tests-6.0.3.yml +0 -49
  722. data/.github/workflows/tests-dev-preview.yml +0 -52
  723. data/.github/workflows/tests.yml +0 -47
  724. data/.gitignore +0 -20
  725. data/.gitmodules +0 -21
  726. data/.idea/.gitignore +0 -5
  727. data/.idea/dictionaries/gem_terms.xml +0 -18
  728. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  729. data/.idea/vcs.xml +0 -13
  730. data/.yardopts +0 -1
  731. data/Gemfile +0 -24
  732. data/Rakefile +0 -51
  733. data/bin/console +0 -21
  734. data/bin/init-cluster +0 -70
  735. data/bin/setup +0 -24
  736. data/couchbase.gemspec +0 -47
  737. data/examples/crud.rb +0 -20
  738. data/examples/managing_buckets.rb +0 -47
  739. data/examples/managing_collections.rb +0 -58
  740. data/examples/managing_query_indexes.rb +0 -63
  741. data/examples/managing_search_indexes.rb +0 -62
  742. data/examples/query.rb +0 -18
  743. data/examples/query_with_consistency.rb +0 -76
  744. data/examples/search.rb +0 -187
  745. data/examples/subdocument.rb +0 -51
  746. data/ext/.clang-format +0 -15
  747. data/ext/.clang-tidy +0 -21
  748. data/ext/.cmake-format.yaml +0 -8
  749. data/ext/.gitignore +0 -2
  750. data/ext/.idea/.name +0 -1
  751. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  752. data/ext/.idea/ext.iml +0 -2
  753. data/ext/.idea/misc.xml +0 -4
  754. data/ext/.idea/modules.xml +0 -8
  755. data/ext/.idea/vcs.xml +0 -12
  756. data/ext/couchbase/configuration_monitor.hxx +0 -93
  757. data/ext/couchbase/io/session_manager.hxx +0 -127
  758. data/ext/couchbase/operations/command.hxx +0 -152
  759. data/ext/test/main.cxx +0 -67
  760. data/ext/third_party/asio/.appveyor.yml +0 -107
  761. data/ext/third_party/asio/.cirrus.yml +0 -16
  762. data/ext/third_party/asio/.gitignore +0 -3
  763. data/ext/third_party/asio/.travis.yml +0 -323
  764. data/ext/third_party/asio/asio/.gitignore +0 -23
  765. data/ext/third_party/asio/asio/COPYING +0 -4
  766. data/ext/third_party/asio/asio/INSTALL +0 -5
  767. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  768. data/ext/third_party/asio/asio/Makefile.am +0 -19
  769. data/ext/third_party/asio/asio/README +0 -4
  770. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  771. data/ext/third_party/asio/asio/autogen.sh +0 -55
  772. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  773. data/ext/third_party/asio/asio/boostify.pl +0 -603
  774. data/ext/third_party/asio/asio/configure.ac +0 -182
  775. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  776. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  777. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  778. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  779. data/ext/third_party/asio/asio/release.pl +0 -440
  780. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  781. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  782. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  783. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  784. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  785. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  786. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  787. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  788. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  789. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  790. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  791. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  792. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  793. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  794. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  795. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  796. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  797. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  798. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  799. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  800. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  801. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  802. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  803. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  804. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  805. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  806. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  807. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  808. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  809. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  810. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  811. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  812. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  813. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  814. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  815. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  816. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  817. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  818. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  819. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  820. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  821. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  822. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  823. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  824. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  825. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  826. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  827. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  828. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  829. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  830. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  831. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  832. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  833. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  834. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  835. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  836. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  837. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  838. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  839. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  840. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  841. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  842. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  843. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  844. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  845. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  846. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  847. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  848. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  849. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  850. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  851. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  852. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  853. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  854. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  855. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  856. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  857. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  858. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  859. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  860. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  861. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  862. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  863. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  864. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  865. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  866. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  867. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  868. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  869. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  870. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  871. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  872. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  873. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  874. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  875. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  876. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  877. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  878. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  879. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  880. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  881. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  882. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  883. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  884. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  885. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  886. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  887. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  888. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  889. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  890. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  891. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  892. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  893. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  894. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  895. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  896. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  897. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  898. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  899. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  900. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  901. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  902. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  903. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  904. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  905. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  906. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  907. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  908. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  909. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  910. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  911. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  912. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  913. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  914. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  915. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  916. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  917. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  918. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  919. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  944. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  945. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  946. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  947. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  948. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  949. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  950. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  951. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  952. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  953. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  954. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  955. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  956. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  957. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  958. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  959. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  960. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  961. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  962. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  963. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  964. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  965. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  966. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  967. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  968. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  969. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  970. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  971. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  972. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  973. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  974. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  975. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  976. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  977. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  978. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  979. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  980. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  981. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  982. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  983. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  984. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  985. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  986. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  987. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  988. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  989. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  990. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  991. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  992. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  993. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  994. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  995. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  996. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  997. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  998. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  999. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  1029. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  1030. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  1031. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  1032. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  1033. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  1034. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  1035. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  1036. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  1037. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1038. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  1039. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  1040. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  1041. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  1042. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  1043. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  1044. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  1045. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  1046. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  1047. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1048. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1049. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1050. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1051. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1052. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1053. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1054. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1055. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1056. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1057. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1058. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1059. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1060. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1061. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1062. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1063. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1064. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1065. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1066. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1067. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1068. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1069. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1070. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1071. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1072. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1073. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1074. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1075. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1076. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1077. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1120. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1121. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1122. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1123. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1124. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1125. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1126. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1127. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1128. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1129. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1130. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1131. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1132. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1133. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1134. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1135. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1136. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1137. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1138. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1139. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1140. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1141. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1142. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1143. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1144. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1145. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1146. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1147. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1148. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1149. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1150. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1151. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1152. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1153. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1154. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1155. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1156. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1157. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1158. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1159. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1160. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1161. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1162. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1163. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1164. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1165. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1166. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1167. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1168. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1169. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1170. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1171. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1172. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1173. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1174. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1175. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1176. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1177. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1178. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1179. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1180. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1181. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1182. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1183. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1184. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1185. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1186. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1187. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1188. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1189. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1190. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1191. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1192. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1193. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1194. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1195. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1196. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1197. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1198. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1199. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1200. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1201. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1202. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1203. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1204. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1205. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1206. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1207. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1208. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1209. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1210. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1211. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1212. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1213. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1214. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1215. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1216. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1217. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1218. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1219. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1220. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1221. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1222. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1224. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1225. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1226. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1227. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1228. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1230. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1231. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1232. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1233. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1234. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1235. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1236. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1238. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1239. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1240. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1241. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1242. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1243. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1245. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1246. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1247. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1248. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1249. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1250. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1251. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1252. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1253. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1254. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1255. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1256. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1257. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1258. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1259. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1260. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1261. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1262. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1263. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1264. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1265. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1266. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1267. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1268. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1269. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1270. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1271. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1272. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1273. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1274. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1275. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1276. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1277. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1278. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1279. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1280. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1281. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1282. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1283. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1284. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1285. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1286. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1287. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1288. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1289. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1291. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1292. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1294. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1295. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1296. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1297. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1298. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1299. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1300. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1301. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1302. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1303. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1304. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1305. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1306. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1307. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1308. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1309. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1310. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1311. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1312. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1313. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1314. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1315. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1316. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1317. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1318. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1319. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1320. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1321. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1322. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1323. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1324. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1325. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1326. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1327. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1328. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1329. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1330. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1331. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1332. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1333. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1334. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1335. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1336. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1337. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1338. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1339. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1340. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1341. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1342. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1343. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1344. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1345. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1346. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1347. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1348. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1349. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1350. data/ext/third_party/gsl/.clang-format +0 -34
  1351. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1352. data/ext/third_party/gsl/.gitignore +0 -16
  1353. data/ext/third_party/gsl/.travis.yml +0 -551
  1354. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1355. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1356. data/ext/third_party/gsl/GSL.natvis +0 -98
  1357. data/ext/third_party/gsl/README.md +0 -124
  1358. data/ext/third_party/gsl/appveyor.yml +0 -128
  1359. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1360. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1361. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1362. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1363. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1364. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1365. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1366. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1367. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1368. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1369. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1370. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1371. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1372. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1373. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1374. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1375. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1376. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1377. data/ext/third_party/http_parser/.gitignore +0 -30
  1378. data/ext/third_party/http_parser/.mailmap +0 -8
  1379. data/ext/third_party/http_parser/.travis.yml +0 -13
  1380. data/ext/third_party/http_parser/AUTHORS +0 -68
  1381. data/ext/third_party/http_parser/README.md +0 -246
  1382. data/ext/third_party/http_parser/bench.c +0 -128
  1383. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1384. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1385. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1386. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1387. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1388. data/ext/third_party/http_parser/test.c +0 -4600
  1389. data/ext/third_party/json/.appveyor.yml +0 -44
  1390. data/ext/third_party/json/.clang-format +0 -84
  1391. data/ext/third_party/json/.conan/build.py +0 -80
  1392. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1393. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1394. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1395. data/ext/third_party/json/.gitignore +0 -3
  1396. data/ext/third_party/json/.travis.yml +0 -173
  1397. data/ext/third_party/json/README.md +0 -149
  1398. data/ext/third_party/json/conanfile.py +0 -28
  1399. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1400. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1401. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1402. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1403. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1404. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1405. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1406. data/ext/third_party/json/doc/Changelog.md +0 -31
  1407. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1408. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1409. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1410. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1411. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1412. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1413. data/ext/third_party/json/doc/Overview.md +0 -24
  1414. data/ext/third_party/json/doc/Overview.png +0 -0
  1415. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1416. data/ext/third_party/json/doc/README.md +0 -78
  1417. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1418. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1419. data/ext/third_party/json/doc/Types.png +0 -0
  1420. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1421. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1457. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1458. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1459. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1460. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1461. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1462. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1463. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1464. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1465. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1466. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1467. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1468. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1469. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1470. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1471. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1472. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1473. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1474. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1475. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1476. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1477. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1478. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1479. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1480. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1481. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1482. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1483. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1484. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1485. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1486. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1487. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1488. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1489. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1490. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1491. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1492. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1493. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1494. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1495. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1496. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1497. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1498. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1499. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1500. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1501. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1502. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1503. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1504. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1505. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1506. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1507. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1508. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1509. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1510. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1511. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1512. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1513. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1514. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1515. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1516. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1517. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1518. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1519. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1520. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1521. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1522. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1523. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1524. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1525. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1526. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1527. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1528. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1529. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1530. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1531. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1532. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1533. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1534. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1535. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1536. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1537. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1538. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1539. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1540. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1541. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1542. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1543. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1544. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1545. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1546. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1547. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1548. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1549. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1550. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1551. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1552. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1553. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1554. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1555. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1556. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1557. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1558. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1559. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1560. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1561. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1562. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1563. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1564. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1565. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1566. data/ext/third_party/json/tests/blns.json +0 -496
  1567. data/ext/third_party/json/tests/canada.json +0 -9
  1568. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1569. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1570. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1571. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1572. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1573. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1574. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1575. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1576. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1577. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1578. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1579. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1580. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1581. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1582. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1583. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1584. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1585. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1586. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1587. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1588. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1589. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1590. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1591. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1592. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1593. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1594. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1595. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1596. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1597. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1598. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1599. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1600. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1601. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1602. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1603. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1604. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1605. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1606. data/ext/third_party/json/tests/twitter.json +0 -15482
  1607. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1608. data/ext/third_party/snappy/.gitignore +0 -8
  1609. data/ext/third_party/snappy/.travis.yml +0 -98
  1610. data/ext/third_party/snappy/AUTHORS +0 -1
  1611. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1612. data/ext/third_party/snappy/NEWS +0 -188
  1613. data/ext/third_party/snappy/README.md +0 -148
  1614. data/ext/third_party/snappy/docs/README.md +0 -72
  1615. data/ext/third_party/snappy/format_description.txt +0 -110
  1616. data/ext/third_party/snappy/framing_format.txt +0 -135
  1617. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1618. data/ext/third_party/snappy/snappy-test.h +0 -526
  1619. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1620. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1621. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1622. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1623. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1624. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1625. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1626. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1627. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1628. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1629. data/ext/third_party/snappy/testdata/html +0 -1
  1630. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1631. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1632. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1633. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1634. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1635. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1636. data/ext/third_party/spdlog/.clang-format +0 -108
  1637. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1638. data/ext/third_party/spdlog/.gitattributes +0 -1
  1639. data/ext/third_party/spdlog/.gitignore +0 -83
  1640. data/ext/third_party/spdlog/.travis.yml +0 -112
  1641. data/ext/third_party/spdlog/INSTALL +0 -24
  1642. data/ext/third_party/spdlog/README.md +0 -423
  1643. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1644. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1645. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1646. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1647. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1648. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1649. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1650. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1651. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1652. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1653. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  1654. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  1655. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  1656. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  1657. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  1658. data/ext/third_party/spdlog/tests/catch.license +0 -23
  1659. data/ext/third_party/spdlog/tests/includes.h +0 -26
  1660. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  1661. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  1662. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  1663. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  1664. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  1665. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  1666. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  1667. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  1668. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  1669. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  1670. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  1671. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  1672. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  1673. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  1674. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  1675. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  1676. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  1677. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  1678. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  1679. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  1680. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  1681. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  1682. data/ext/third_party/spdlog/tests/utils.h +0 -18
  1683. data/rbi/couchbase.rbi +0 -79
@@ -1,72 +0,0 @@
1
- Snappy is a compression/decompression library. It does not aim for maximum
2
- compression, or compatibility with any other compression library; instead, it
3
- aims for very high speeds and reasonable compression. For instance, compared
4
- to the fastest mode of zlib, Snappy is an order of magnitude faster for most
5
- inputs, but the resulting compressed files are anywhere from 20% to 100%
6
- bigger. On a single core of a Core i7 processor in 64-bit mode, Snappy
7
- compresses at about 250 MB/sec or more and decompresses at about 500 MB/sec
8
- or more.
9
-
10
- Snappy is widely used inside Google, in everything from BigTable and MapReduce
11
- to our internal RPC systems. (Snappy has previously been referred to as "Zippy"
12
- in some presentations and the likes.)
13
-
14
- For more information, please see the [README](../README.md). Benchmarks against
15
- a few other compression libraries (zlib, LZO, LZF, FastLZ, and QuickLZ) are
16
- included in the source code distribution. The source code also contains a
17
- [formal format specification](../format_description.txt), as well
18
- as a specification for a [framing format](../framing_format.txt) useful for
19
- higher-level framing and encapsulation of Snappy data, e.g. for transporting
20
- Snappy-compressed data across HTTP in a streaming fashion. Note that the Snappy
21
- distribution currently has no code implementing the latter, but some of the
22
- ports do (see below).
23
-
24
- Snappy is written in C++, but C bindings are included, and several bindings to
25
- other languages are maintained by third parties:
26
-
27
- * C#: [Snappy for .NET](http://snappy4net.codeplex.com/) (P/Invoke wrapper),
28
- [Snappy.NET](http://snappy.angeloflogic.com/) (P/Invoke wrapper),
29
- [Snappy.Sharp](https://github.com/jeffesp/Snappy.Sharp) (native
30
- reimplementation)
31
- * [C port](http://github.com/andikleen/snappy-c)
32
- * [C++ MSVC packaging](http://snappy.angeloflogic.com/) (plus Windows binaries,
33
- NuGet packages and command-line tool)
34
- * Common Lisp: [Library bindings](http://flambard.github.com/thnappy/),
35
- [native reimplementation](https://github.com/brown/snappy)
36
- * Erlang: [esnappy](https://github.com/thekvs/esnappy),
37
- [snappy-erlang-nif](https://github.com/fdmanana/snappy-erlang-nif)
38
- * [Go](https://github.com/golang/snappy/)
39
- * [Haskell](http://hackage.haskell.org/package/snappy)
40
- * [Haxe](https://github.com/MaddinXx/hxsnappy) (C++/Neko)
41
- * [iOS packaging](https://github.com/ideawu/snappy-ios)
42
- * Java: [JNI wrapper](https://github.com/xerial/snappy-java) (including the
43
- framing format), [native reimplementation](http://code.google.com/p/jsnappy/),
44
- [other native reimplementation](https://github.com/dain/snappy) (including
45
- the framing format)
46
- * [Lua](https://github.com/forhappy/lua-snappy)
47
- * [Node.js](https://github.com/kesla/node-snappy) (including the [framing
48
- format](https://github.com/kesla/node-snappy-stream))
49
- * [Perl](http://search.cpan.org/dist/Compress-Snappy/)
50
- * [PHP](https://github.com/kjdev/php-ext-snappy)
51
- * [Python](http://pypi.python.org/pypi/python-snappy) (including a command-line
52
- tool for the framing format)
53
- * [R](https://github.com/lulyon/R-snappy)
54
- * [Ruby](https://github.com/miyucy/snappy)
55
- * [Rust](https://github.com/BurntSushi/rust-snappy)
56
- * [Smalltalk](https://github.com/mumez/sqnappy) (including the framing format)
57
-
58
- Snappy is used or is available as an alternative in software such as
59
-
60
- * [MongoDB](https://www.mongodb.com/)
61
- * [Cassandra](http://cassandra.apache.org/)
62
- * [Couchbase](http://www.couchbase.com/)
63
- * [Hadoop](http://hadoop.apache.org/)
64
- * [LessFS](http://www.lessfs.com/wordpress/)
65
- * [LevelDB](https://github.com/google/leveldb) (which is in turn used by
66
- [Google Chrome](http://chrome.google.com/))
67
- * [Lucene](http://lucene.apache.org/)
68
- * [VoltDB](http://voltdb.com/)
69
-
70
- If you know of more, do not hesitate to let us know. The easiest way to get in
71
- touch is via the
72
- [Snappy discussion mailing list](http://groups.google.com/group/snappy-compression).
@@ -1,110 +0,0 @@
1
- Snappy compressed format description
2
- Last revised: 2011-10-05
3
-
4
-
5
- This is not a formal specification, but should suffice to explain most
6
- relevant parts of how the Snappy format works. It is originally based on
7
- text by Zeev Tarantov.
8
-
9
- Snappy is a LZ77-type compressor with a fixed, byte-oriented encoding.
10
- There is no entropy encoder backend nor framing layer -- the latter is
11
- assumed to be handled by other parts of the system.
12
-
13
- This document only describes the format, not how the Snappy compressor nor
14
- decompressor actually works. The correctness of the decompressor should not
15
- depend on implementation details of the compressor, and vice versa.
16
-
17
-
18
- 1. Preamble
19
-
20
- The stream starts with the uncompressed length (up to a maximum of 2^32 - 1),
21
- stored as a little-endian varint. Varints consist of a series of bytes,
22
- where the lower 7 bits are data and the upper bit is set iff there are
23
- more bytes to be read. In other words, an uncompressed length of 64 would
24
- be stored as 0x40, and an uncompressed length of 2097150 (0x1FFFFE)
25
- would be stored as 0xFE 0xFF 0x7F.
26
-
27
-
28
- 2. The compressed stream itself
29
-
30
- There are two types of elements in a Snappy stream: Literals and
31
- copies (backreferences). There is no restriction on the order of elements,
32
- except that the stream naturally cannot start with a copy. (Having
33
- two literals in a row is never optimal from a compression point of
34
- view, but nevertheless fully permitted.) Each element starts with a tag byte,
35
- and the lower two bits of this tag byte signal what type of element will
36
- follow:
37
-
38
- 00: Literal
39
- 01: Copy with 1-byte offset
40
- 10: Copy with 2-byte offset
41
- 11: Copy with 4-byte offset
42
-
43
- The interpretation of the upper six bits are element-dependent.
44
-
45
-
46
- 2.1. Literals (00)
47
-
48
- Literals are uncompressed data stored directly in the byte stream.
49
- The literal length is stored differently depending on the length
50
- of the literal:
51
-
52
- - For literals up to and including 60 bytes in length, the upper
53
- six bits of the tag byte contain (len-1). The literal follows
54
- immediately thereafter in the bytestream.
55
- - For longer literals, the (len-1) value is stored after the tag byte,
56
- little-endian. The upper six bits of the tag byte describe how
57
- many bytes are used for the length; 60, 61, 62 or 63 for
58
- 1-4 bytes, respectively. The literal itself follows after the
59
- length.
60
-
61
-
62
- 2.2. Copies
63
-
64
- Copies are references back into previous decompressed data, telling
65
- the decompressor to reuse data it has previously decoded.
66
- They encode two values: The _offset_, saying how many bytes back
67
- from the current position to read, and the _length_, how many bytes
68
- to copy. Offsets of zero can be encoded, but are not legal;
69
- similarly, it is possible to encode backreferences that would
70
- go past the end of the block (offset > current decompressed position),
71
- which is also nonsensical and thus not allowed.
72
-
73
- As in most LZ77-based compressors, the length can be larger than the offset,
74
- yielding a form of run-length encoding (RLE). For instance,
75
- "xababab" could be encoded as
76
-
77
- <literal: "xab"> <copy: offset=2 length=4>
78
-
79
- Note that since the current Snappy compressor works in 32 kB
80
- blocks and does not do matching across blocks, it will never produce
81
- a bitstream with offsets larger than about 32768. However, the
82
- decompressor should not rely on this, as it may change in the future.
83
-
84
- There are several different kinds of copy elements, depending on
85
- the amount of bytes to be copied (length), and how far back the
86
- data to be copied is (offset).
87
-
88
-
89
- 2.2.1. Copy with 1-byte offset (01)
90
-
91
- These elements can encode lengths between [4..11] bytes and offsets
92
- between [0..2047] bytes. (len-4) occupies three bits and is stored
93
- in bits [2..4] of the tag byte. The offset occupies 11 bits, of which the
94
- upper three are stored in the upper three bits ([5..7]) of the tag byte,
95
- and the lower eight are stored in a byte following the tag byte.
96
-
97
-
98
- 2.2.2. Copy with 2-byte offset (10)
99
-
100
- These elements can encode lengths between [1..64] and offsets from
101
- [0..65535]. (len-1) occupies six bits and is stored in the upper
102
- six bits ([2..7]) of the tag byte. The offset is stored as a
103
- little-endian 16-bit integer in the two bytes following the tag byte.
104
-
105
-
106
- 2.2.3. Copy with 4-byte offset (11)
107
-
108
- These are like the copies with 2-byte offsets (see previous subsection),
109
- except that the offset is stored as a 32-bit integer instead of a
110
- 16-bit integer (and thus will occupy four bytes).
@@ -1,135 +0,0 @@
1
- Snappy framing format description
2
- Last revised: 2013-10-25
3
-
4
- This format decribes a framing format for Snappy, allowing compressing to
5
- files or streams that can then more easily be decompressed without having
6
- to hold the entire stream in memory. It also provides data checksums to
7
- help verify integrity. It does not provide metadata checksums, so it does
8
- not protect against e.g. all forms of truncations.
9
-
10
- Implementation of the framing format is optional for Snappy compressors and
11
- decompressor; it is not part of the Snappy core specification.
12
-
13
-
14
- 1. General structure
15
-
16
- The file consists solely of chunks, lying back-to-back with no padding
17
- in between. Each chunk consists first a single byte of chunk identifier,
18
- then a three-byte little-endian length of the chunk in bytes (from 0 to
19
- 16777215, inclusive), and then the data if any. The four bytes of chunk
20
- header is not counted in the data length.
21
-
22
- The different chunk types are listed below. The first chunk must always
23
- be the stream identifier chunk (see section 4.1, below). The stream
24
- ends when the file ends -- there is no explicit end-of-file marker.
25
-
26
-
27
- 2. File type identification
28
-
29
- The following identifiers for this format are recommended where appropriate.
30
- However, note that none have been registered officially, so this is only to
31
- be taken as a guideline. We use "Snappy framed" to distinguish between this
32
- format and raw Snappy data.
33
-
34
- File extension: .sz
35
- MIME type: application/x-snappy-framed
36
- HTTP Content-Encoding: x-snappy-framed
37
-
38
-
39
- 3. Checksum format
40
-
41
- Some chunks have data protected by a checksum (the ones that do will say so
42
- explicitly). The checksums are always masked CRC-32Cs.
43
-
44
- A description of CRC-32C can be found in RFC 3720, section 12.1, with
45
- examples in section B.4.
46
-
47
- Checksums are not stored directly, but masked, as checksumming data and
48
- then its own checksum can be problematic. The masking is the same as used
49
- in Apache Hadoop: Rotate the checksum by 15 bits, then add the constant
50
- 0xa282ead8 (using wraparound as normal for unsigned integers). This is
51
- equivalent to the following C code:
52
-
53
- uint32_t mask_checksum(uint32_t x) {
54
- return ((x >> 15) | (x << 17)) + 0xa282ead8;
55
- }
56
-
57
- Note that the masking is reversible.
58
-
59
- The checksum is always stored as a four bytes long integer, in little-endian.
60
-
61
-
62
- 4. Chunk types
63
-
64
- The currently supported chunk types are described below. The list may
65
- be extended in the future.
66
-
67
-
68
- 4.1. Stream identifier (chunk type 0xff)
69
-
70
- The stream identifier is always the first element in the stream.
71
- It is exactly six bytes long and contains "sNaPpY" in ASCII. This means that
72
- a valid Snappy framed stream always starts with the bytes
73
-
74
- 0xff 0x06 0x00 0x00 0x73 0x4e 0x61 0x50 0x70 0x59
75
-
76
- The stream identifier chunk can come multiple times in the stream besides
77
- the first; if such a chunk shows up, it should simply be ignored, assuming
78
- it has the right length and contents. This allows for easy concatenation of
79
- compressed files without the need for re-framing.
80
-
81
-
82
- 4.2. Compressed data (chunk type 0x00)
83
-
84
- Compressed data chunks contain a normal Snappy compressed bitstream;
85
- see the compressed format specification. The compressed data is preceded by
86
- the CRC-32C (see section 3) of the _uncompressed_ data.
87
-
88
- Note that the data portion of the chunk, i.e., the compressed contents,
89
- can be at most 16777211 bytes (2^24 - 1, minus the checksum).
90
- However, we place an additional restriction that the uncompressed data
91
- in a chunk must be no longer than 65536 bytes. This allows consumers to
92
- easily use small fixed-size buffers.
93
-
94
-
95
- 4.3. Uncompressed data (chunk type 0x01)
96
-
97
- Uncompressed data chunks allow a compressor to send uncompressed,
98
- raw data; this is useful if, for instance, uncompressible or
99
- near-incompressible data is detected, and faster decompression is desired.
100
-
101
- As in the compressed chunks, the data is preceded by its own masked
102
- CRC-32C (see section 3).
103
-
104
- An uncompressed data chunk, like compressed data chunks, should contain
105
- no more than 65536 data bytes, so the maximum legal chunk length with the
106
- checksum is 65540.
107
-
108
-
109
- 4.4. Padding (chunk type 0xfe)
110
-
111
- Padding chunks allow a compressor to increase the size of the data stream
112
- so that it complies with external demands, e.g. that the total number of
113
- bytes is a multiple of some value.
114
-
115
- All bytes of the padding chunk, except the chunk byte itself and the length,
116
- should be zero, but decompressors must not try to interpret or verify the
117
- padding data in any way.
118
-
119
-
120
- 4.5. Reserved unskippable chunks (chunk types 0x02-0x7f)
121
-
122
- These are reserved for future expansion. A decoder that sees such a chunk
123
- should immediately return an error, as it must assume it cannot decode the
124
- stream correctly.
125
-
126
- Future versions of this specification may define meanings for these chunks.
127
-
128
-
129
- 4.6. Reserved skippable chunks (chunk types 0x80-0xfd)
130
-
131
- These are also reserved for future expansion, but unlike the chunks
132
- described in 4.5, a decoder seeing these must skip them and continue
133
- decoding.
134
-
135
- Future versions of this specification may define meanings for these chunks.
@@ -1,613 +0,0 @@
1
- // Copyright 2011 Google Inc. All Rights Reserved.
2
- //
3
- // Redistribution and use in source and binary forms, with or without
4
- // modification, are permitted provided that the following conditions are
5
- // met:
6
- //
7
- // * Redistributions of source code must retain the above copyright
8
- // notice, this list of conditions and the following disclaimer.
9
- // * Redistributions in binary form must reproduce the above
10
- // copyright notice, this list of conditions and the following disclaimer
11
- // in the documentation and/or other materials provided with the
12
- // distribution.
13
- // * Neither the name of Google Inc. nor the names of its
14
- // contributors may be used to endorse or promote products derived from
15
- // this software without specific prior written permission.
16
- //
17
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
- // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
- // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
- // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
- // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
- // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
- // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- //
29
- // Various stubs for the unit tests for the open-source version of Snappy.
30
-
31
- #ifdef HAVE_CONFIG_H
32
- #include "config.h"
33
- #endif
34
-
35
- #ifdef HAVE_WINDOWS_H
36
- // Needed to be able to use std::max without workarounds in the source code.
37
- // https://support.microsoft.com/en-us/help/143208/prb-using-stl-in-windows-program-can-cause-min-max-conflicts
38
- #define NOMINMAX
39
- #include <windows.h>
40
- #endif
41
-
42
- #include "snappy-test.h"
43
-
44
- #include <algorithm>
45
-
46
- DEFINE_bool(run_microbenchmarks, true,
47
- "Run microbenchmarks before doing anything else.");
48
-
49
- namespace snappy {
50
-
51
- std::string ReadTestDataFile(const std::string& base, size_t size_limit) {
52
- std::string contents;
53
- const char* srcdir = getenv("srcdir"); // This is set by Automake.
54
- std::string prefix;
55
- if (srcdir) {
56
- prefix = std::string(srcdir) + "/";
57
- }
58
- file::GetContents(prefix + "testdata/" + base, &contents, file::Defaults()
59
- ).CheckSuccess();
60
- if (size_limit > 0) {
61
- contents = contents.substr(0, size_limit);
62
- }
63
- return contents;
64
- }
65
-
66
- std::string ReadTestDataFile(const std::string& base) {
67
- return ReadTestDataFile(base, 0);
68
- }
69
-
70
- std::string StrFormat(const char* format, ...) {
71
- char buf[4096];
72
- std::va_list ap;
73
- va_start(ap, format);
74
- std::vsnprintf(buf, sizeof(buf), format, ap);
75
- va_end(ap);
76
- return buf;
77
- }
78
-
79
- bool benchmark_running = false;
80
- int64_t benchmark_real_time_us = 0;
81
- int64_t benchmark_cpu_time_us = 0;
82
- std::string* benchmark_label = nullptr;
83
- int64_t benchmark_bytes_processed = 0;
84
-
85
- void ResetBenchmarkTiming() {
86
- benchmark_real_time_us = 0;
87
- benchmark_cpu_time_us = 0;
88
- }
89
-
90
- #ifdef WIN32
91
- LARGE_INTEGER benchmark_start_real;
92
- FILETIME benchmark_start_cpu;
93
- #else // WIN32
94
- struct timeval benchmark_start_real;
95
- struct rusage benchmark_start_cpu;
96
- #endif // WIN32
97
-
98
- void StartBenchmarkTiming() {
99
- #ifdef WIN32
100
- QueryPerformanceCounter(&benchmark_start_real);
101
- FILETIME dummy;
102
- CHECK(GetProcessTimes(
103
- GetCurrentProcess(), &dummy, &dummy, &dummy, &benchmark_start_cpu));
104
- #else
105
- gettimeofday(&benchmark_start_real, NULL);
106
- if (getrusage(RUSAGE_SELF, &benchmark_start_cpu) == -1) {
107
- std::perror("getrusage(RUSAGE_SELF)");
108
- std::exit(1);
109
- }
110
- #endif
111
- benchmark_running = true;
112
- }
113
-
114
- void StopBenchmarkTiming() {
115
- if (!benchmark_running) {
116
- return;
117
- }
118
-
119
- #ifdef WIN32
120
- LARGE_INTEGER benchmark_stop_real;
121
- LARGE_INTEGER benchmark_frequency;
122
- QueryPerformanceCounter(&benchmark_stop_real);
123
- QueryPerformanceFrequency(&benchmark_frequency);
124
-
125
- double elapsed_real = static_cast<double>(
126
- benchmark_stop_real.QuadPart - benchmark_start_real.QuadPart) /
127
- benchmark_frequency.QuadPart;
128
- benchmark_real_time_us += elapsed_real * 1e6 + 0.5;
129
-
130
- FILETIME benchmark_stop_cpu, dummy;
131
- CHECK(GetProcessTimes(
132
- GetCurrentProcess(), &dummy, &dummy, &dummy, &benchmark_stop_cpu));
133
-
134
- ULARGE_INTEGER start_ulargeint;
135
- start_ulargeint.LowPart = benchmark_start_cpu.dwLowDateTime;
136
- start_ulargeint.HighPart = benchmark_start_cpu.dwHighDateTime;
137
-
138
- ULARGE_INTEGER stop_ulargeint;
139
- stop_ulargeint.LowPart = benchmark_stop_cpu.dwLowDateTime;
140
- stop_ulargeint.HighPart = benchmark_stop_cpu.dwHighDateTime;
141
-
142
- benchmark_cpu_time_us +=
143
- (stop_ulargeint.QuadPart - start_ulargeint.QuadPart + 5) / 10;
144
- #else // WIN32
145
- struct timeval benchmark_stop_real;
146
- gettimeofday(&benchmark_stop_real, NULL);
147
- benchmark_real_time_us +=
148
- 1000000 * (benchmark_stop_real.tv_sec - benchmark_start_real.tv_sec);
149
- benchmark_real_time_us +=
150
- (benchmark_stop_real.tv_usec - benchmark_start_real.tv_usec);
151
-
152
- struct rusage benchmark_stop_cpu;
153
- if (getrusage(RUSAGE_SELF, &benchmark_stop_cpu) == -1) {
154
- std::perror("getrusage(RUSAGE_SELF)");
155
- std::exit(1);
156
- }
157
- benchmark_cpu_time_us += 1000000 * (benchmark_stop_cpu.ru_utime.tv_sec -
158
- benchmark_start_cpu.ru_utime.tv_sec);
159
- benchmark_cpu_time_us += (benchmark_stop_cpu.ru_utime.tv_usec -
160
- benchmark_start_cpu.ru_utime.tv_usec);
161
- #endif // WIN32
162
-
163
- benchmark_running = false;
164
- }
165
-
166
- void SetBenchmarkLabel(const std::string& str) {
167
- if (benchmark_label) {
168
- delete benchmark_label;
169
- }
170
- benchmark_label = new std::string(str);
171
- }
172
-
173
- void SetBenchmarkBytesProcessed(int64_t bytes) {
174
- benchmark_bytes_processed = bytes;
175
- }
176
-
177
- struct BenchmarkRun {
178
- int64_t real_time_us;
179
- int64_t cpu_time_us;
180
- };
181
-
182
- struct BenchmarkCompareCPUTime {
183
- bool operator() (const BenchmarkRun& a, const BenchmarkRun& b) const {
184
- return a.cpu_time_us < b.cpu_time_us;
185
- }
186
- };
187
-
188
- void Benchmark::Run() {
189
- for (int test_case_num = start_; test_case_num <= stop_; ++test_case_num) {
190
- // Run a few iterations first to find out approximately how fast
191
- // the benchmark is.
192
- const int kCalibrateIterations = 100;
193
- ResetBenchmarkTiming();
194
- StartBenchmarkTiming();
195
- (*function_)(kCalibrateIterations, test_case_num);
196
- StopBenchmarkTiming();
197
-
198
- // Let each test case run for about 200ms, but at least as many
199
- // as we used to calibrate.
200
- // Run five times and pick the median.
201
- const int kNumRuns = 5;
202
- const int kMedianPos = kNumRuns / 2;
203
- int num_iterations = 0;
204
- if (benchmark_real_time_us > 0) {
205
- num_iterations = 200000 * kCalibrateIterations / benchmark_real_time_us;
206
- }
207
- num_iterations = std::max(num_iterations, kCalibrateIterations);
208
- BenchmarkRun benchmark_runs[kNumRuns];
209
-
210
- for (int run = 0; run < kNumRuns; ++run) {
211
- ResetBenchmarkTiming();
212
- StartBenchmarkTiming();
213
- (*function_)(num_iterations, test_case_num);
214
- StopBenchmarkTiming();
215
-
216
- benchmark_runs[run].real_time_us = benchmark_real_time_us;
217
- benchmark_runs[run].cpu_time_us = benchmark_cpu_time_us;
218
- }
219
-
220
- std::string heading = StrFormat("%s/%d", name_.c_str(), test_case_num);
221
- std::string human_readable_speed;
222
-
223
- std::nth_element(benchmark_runs,
224
- benchmark_runs + kMedianPos,
225
- benchmark_runs + kNumRuns,
226
- BenchmarkCompareCPUTime());
227
- int64_t real_time_us = benchmark_runs[kMedianPos].real_time_us;
228
- int64_t cpu_time_us = benchmark_runs[kMedianPos].cpu_time_us;
229
- if (cpu_time_us <= 0) {
230
- human_readable_speed = "?";
231
- } else {
232
- int64_t bytes_per_second =
233
- benchmark_bytes_processed * 1000000 / cpu_time_us;
234
- if (bytes_per_second < 1024) {
235
- human_readable_speed =
236
- StrFormat("%dB/s", static_cast<int>(bytes_per_second));
237
- } else if (bytes_per_second < 1024 * 1024) {
238
- human_readable_speed = StrFormat(
239
- "%.1fkB/s", bytes_per_second / 1024.0f);
240
- } else if (bytes_per_second < 1024 * 1024 * 1024) {
241
- human_readable_speed = StrFormat(
242
- "%.1fMB/s", bytes_per_second / (1024.0f * 1024.0f));
243
- } else {
244
- human_readable_speed = StrFormat(
245
- "%.1fGB/s", bytes_per_second / (1024.0f * 1024.0f * 1024.0f));
246
- }
247
- }
248
-
249
- std::fprintf(stderr,
250
- #ifdef WIN32
251
- "%-18s %10I64d %10I64d %10d %s %s\n",
252
- #else
253
- "%-18s %10lld %10lld %10d %s %s\n",
254
- #endif
255
- heading.c_str(),
256
- static_cast<long long>(real_time_us * 1000 / num_iterations),
257
- static_cast<long long>(cpu_time_us * 1000 / num_iterations),
258
- num_iterations,
259
- human_readable_speed.c_str(),
260
- benchmark_label->c_str());
261
- }
262
- }
263
-
264
- #ifdef HAVE_LIBZ
265
-
266
- ZLib::ZLib()
267
- : comp_init_(false),
268
- uncomp_init_(false) {
269
- Reinit();
270
- }
271
-
272
- ZLib::~ZLib() {
273
- if (comp_init_) { deflateEnd(&comp_stream_); }
274
- if (uncomp_init_) { inflateEnd(&uncomp_stream_); }
275
- }
276
-
277
- void ZLib::Reinit() {
278
- compression_level_ = Z_DEFAULT_COMPRESSION;
279
- window_bits_ = MAX_WBITS;
280
- mem_level_ = 8; // DEF_MEM_LEVEL
281
- if (comp_init_) {
282
- deflateEnd(&comp_stream_);
283
- comp_init_ = false;
284
- }
285
- if (uncomp_init_) {
286
- inflateEnd(&uncomp_stream_);
287
- uncomp_init_ = false;
288
- }
289
- first_chunk_ = true;
290
- }
291
-
292
- void ZLib::Reset() {
293
- first_chunk_ = true;
294
- }
295
-
296
- // --------- COMPRESS MODE
297
-
298
- // Initialization method to be called if we hit an error while
299
- // compressing. On hitting an error, call this method before returning
300
- // the error.
301
- void ZLib::CompressErrorInit() {
302
- deflateEnd(&comp_stream_);
303
- comp_init_ = false;
304
- Reset();
305
- }
306
-
307
- int ZLib::DeflateInit() {
308
- return deflateInit2(&comp_stream_,
309
- compression_level_,
310
- Z_DEFLATED,
311
- window_bits_,
312
- mem_level_,
313
- Z_DEFAULT_STRATEGY);
314
- }
315
-
316
- int ZLib::CompressInit(Bytef *dest, uLongf *destLen,
317
- const Bytef *source, uLong *sourceLen) {
318
- int err;
319
-
320
- comp_stream_.next_in = (Bytef*)source;
321
- comp_stream_.avail_in = (uInt)*sourceLen;
322
- if ((uLong)comp_stream_.avail_in != *sourceLen) return Z_BUF_ERROR;
323
- comp_stream_.next_out = dest;
324
- comp_stream_.avail_out = (uInt)*destLen;
325
- if ((uLong)comp_stream_.avail_out != *destLen) return Z_BUF_ERROR;
326
-
327
- if ( !first_chunk_ ) // only need to set up stream the first time through
328
- return Z_OK;
329
-
330
- if (comp_init_) { // we've already initted it
331
- err = deflateReset(&comp_stream_);
332
- if (err != Z_OK) {
333
- LOG(WARNING) << "ERROR: Can't reset compress object; creating a new one";
334
- deflateEnd(&comp_stream_);
335
- comp_init_ = false;
336
- }
337
- }
338
- if (!comp_init_) { // first use
339
- comp_stream_.zalloc = (alloc_func)0;
340
- comp_stream_.zfree = (free_func)0;
341
- comp_stream_.opaque = (voidpf)0;
342
- err = DeflateInit();
343
- if (err != Z_OK) return err;
344
- comp_init_ = true;
345
- }
346
- return Z_OK;
347
- }
348
-
349
- // In a perfect world we'd always have the full buffer to compress
350
- // when the time came, and we could just call Compress(). Alas, we
351
- // want to do chunked compression on our webserver. In this
352
- // application, we compress the header, send it off, then compress the
353
- // results, send them off, then compress the footer. Thus we need to
354
- // use the chunked compression features of zlib.
355
- int ZLib::CompressAtMostOrAll(Bytef *dest, uLongf *destLen,
356
- const Bytef *source, uLong *sourceLen,
357
- int flush_mode) { // Z_FULL_FLUSH or Z_FINISH
358
- int err;
359
-
360
- if ( (err=CompressInit(dest, destLen, source, sourceLen)) != Z_OK )
361
- return err;
362
-
363
- // This is used to figure out how many bytes we wrote *this chunk*
364
- int compressed_size = comp_stream_.total_out;
365
-
366
- // Some setup happens only for the first chunk we compress in a run
367
- if ( first_chunk_ ) {
368
- first_chunk_ = false;
369
- }
370
-
371
- // flush_mode is Z_FINISH for all mode, Z_SYNC_FLUSH for incremental
372
- // compression.
373
- err = deflate(&comp_stream_, flush_mode);
374
-
375
- *sourceLen = comp_stream_.avail_in;
376
-
377
- if ((err == Z_STREAM_END || err == Z_OK)
378
- && comp_stream_.avail_in == 0
379
- && comp_stream_.avail_out != 0 ) {
380
- // we processed everything ok and the output buffer was large enough.
381
- ;
382
- } else if (err == Z_STREAM_END && comp_stream_.avail_in > 0) {
383
- return Z_BUF_ERROR; // should never happen
384
- } else if (err != Z_OK && err != Z_STREAM_END && err != Z_BUF_ERROR) {
385
- // an error happened
386
- CompressErrorInit();
387
- return err;
388
- } else if (comp_stream_.avail_out == 0) { // not enough space
389
- err = Z_BUF_ERROR;
390
- }
391
-
392
- assert(err == Z_OK || err == Z_STREAM_END || err == Z_BUF_ERROR);
393
- if (err == Z_STREAM_END)
394
- err = Z_OK;
395
-
396
- // update the crc and other metadata
397
- compressed_size = comp_stream_.total_out - compressed_size; // delta
398
- *destLen = compressed_size;
399
-
400
- return err;
401
- }
402
-
403
- int ZLib::CompressChunkOrAll(Bytef *dest, uLongf *destLen,
404
- const Bytef *source, uLong sourceLen,
405
- int flush_mode) { // Z_FULL_FLUSH or Z_FINISH
406
- const int ret =
407
- CompressAtMostOrAll(dest, destLen, source, &sourceLen, flush_mode);
408
- if (ret == Z_BUF_ERROR)
409
- CompressErrorInit();
410
- return ret;
411
- }
412
-
413
- // This routine only initializes the compression stream once. Thereafter, it
414
- // just does a deflateReset on the stream, which should be faster.
415
- int ZLib::Compress(Bytef *dest, uLongf *destLen,
416
- const Bytef *source, uLong sourceLen) {
417
- int err;
418
- if ( (err=CompressChunkOrAll(dest, destLen, source, sourceLen,
419
- Z_FINISH)) != Z_OK )
420
- return err;
421
- Reset(); // reset for next call to Compress
422
-
423
- return Z_OK;
424
- }
425
-
426
-
427
- // --------- UNCOMPRESS MODE
428
-
429
- int ZLib::InflateInit() {
430
- return inflateInit2(&uncomp_stream_, MAX_WBITS);
431
- }
432
-
433
- // Initialization method to be called if we hit an error while
434
- // uncompressing. On hitting an error, call this method before
435
- // returning the error.
436
- void ZLib::UncompressErrorInit() {
437
- inflateEnd(&uncomp_stream_);
438
- uncomp_init_ = false;
439
- Reset();
440
- }
441
-
442
- int ZLib::UncompressInit(Bytef *dest, uLongf *destLen,
443
- const Bytef *source, uLong *sourceLen) {
444
- int err;
445
-
446
- uncomp_stream_.next_in = (Bytef*)source;
447
- uncomp_stream_.avail_in = (uInt)*sourceLen;
448
- // Check for source > 64K on 16-bit machine:
449
- if ((uLong)uncomp_stream_.avail_in != *sourceLen) return Z_BUF_ERROR;
450
-
451
- uncomp_stream_.next_out = dest;
452
- uncomp_stream_.avail_out = (uInt)*destLen;
453
- if ((uLong)uncomp_stream_.avail_out != *destLen) return Z_BUF_ERROR;
454
-
455
- if ( !first_chunk_ ) // only need to set up stream the first time through
456
- return Z_OK;
457
-
458
- if (uncomp_init_) { // we've already initted it
459
- err = inflateReset(&uncomp_stream_);
460
- if (err != Z_OK) {
461
- LOG(WARNING)
462
- << "ERROR: Can't reset uncompress object; creating a new one";
463
- UncompressErrorInit();
464
- }
465
- }
466
- if (!uncomp_init_) {
467
- uncomp_stream_.zalloc = (alloc_func)0;
468
- uncomp_stream_.zfree = (free_func)0;
469
- uncomp_stream_.opaque = (voidpf)0;
470
- err = InflateInit();
471
- if (err != Z_OK) return err;
472
- uncomp_init_ = true;
473
- }
474
- return Z_OK;
475
- }
476
-
477
- // If you compressed your data a chunk at a time, with CompressChunk,
478
- // you can uncompress it a chunk at a time with UncompressChunk.
479
- // Only difference bewteen chunked and unchunked uncompression
480
- // is the flush mode we use: Z_SYNC_FLUSH (chunked) or Z_FINISH (unchunked).
481
- int ZLib::UncompressAtMostOrAll(Bytef *dest, uLongf *destLen,
482
- const Bytef *source, uLong *sourceLen,
483
- int flush_mode) { // Z_SYNC_FLUSH or Z_FINISH
484
- int err = Z_OK;
485
-
486
- if ( (err=UncompressInit(dest, destLen, source, sourceLen)) != Z_OK ) {
487
- LOG(WARNING) << "UncompressInit: Error: " << err << " SourceLen: "
488
- << *sourceLen;
489
- return err;
490
- }
491
-
492
- // This is used to figure out how many output bytes we wrote *this chunk*:
493
- const uLong old_total_out = uncomp_stream_.total_out;
494
-
495
- // This is used to figure out how many input bytes we read *this chunk*:
496
- const uLong old_total_in = uncomp_stream_.total_in;
497
-
498
- // Some setup happens only for the first chunk we compress in a run
499
- if ( first_chunk_ ) {
500
- first_chunk_ = false; // so we don't do this again
501
-
502
- // For the first chunk *only* (to avoid infinite troubles), we let
503
- // there be no actual data to uncompress. This sometimes triggers
504
- // when the input is only the gzip header, say.
505
- if ( *sourceLen == 0 ) {
506
- *destLen = 0;
507
- return Z_OK;
508
- }
509
- }
510
-
511
- // We'll uncompress as much as we can. If we end OK great, otherwise
512
- // if we get an error that seems to be the gzip footer, we store the
513
- // gzip footer and return OK, otherwise we return the error.
514
-
515
- // flush_mode is Z_SYNC_FLUSH for chunked mode, Z_FINISH for all mode.
516
- err = inflate(&uncomp_stream_, flush_mode);
517
-
518
- // Figure out how many bytes of the input zlib slurped up:
519
- const uLong bytes_read = uncomp_stream_.total_in - old_total_in;
520
- CHECK_LE(source + bytes_read, source + *sourceLen);
521
- *sourceLen = uncomp_stream_.avail_in;
522
-
523
- if ((err == Z_STREAM_END || err == Z_OK) // everything went ok
524
- && uncomp_stream_.avail_in == 0) { // and we read it all
525
- ;
526
- } else if (err == Z_STREAM_END && uncomp_stream_.avail_in > 0) {
527
- LOG(WARNING)
528
- << "UncompressChunkOrAll: Received some extra data, bytes total: "
529
- << uncomp_stream_.avail_in << " bytes: "
530
- << std::string(reinterpret_cast<const char *>(uncomp_stream_.next_in),
531
- std::min(int(uncomp_stream_.avail_in), 20));
532
- UncompressErrorInit();
533
- return Z_DATA_ERROR; // what's the extra data for?
534
- } else if (err != Z_OK && err != Z_STREAM_END && err != Z_BUF_ERROR) {
535
- // an error happened
536
- LOG(WARNING) << "UncompressChunkOrAll: Error: " << err
537
- << " avail_out: " << uncomp_stream_.avail_out;
538
- UncompressErrorInit();
539
- return err;
540
- } else if (uncomp_stream_.avail_out == 0) {
541
- err = Z_BUF_ERROR;
542
- }
543
-
544
- assert(err == Z_OK || err == Z_BUF_ERROR || err == Z_STREAM_END);
545
- if (err == Z_STREAM_END)
546
- err = Z_OK;
547
-
548
- *destLen = uncomp_stream_.total_out - old_total_out; // size for this call
549
-
550
- return err;
551
- }
552
-
553
- int ZLib::UncompressChunkOrAll(Bytef *dest, uLongf *destLen,
554
- const Bytef *source, uLong sourceLen,
555
- int flush_mode) { // Z_SYNC_FLUSH or Z_FINISH
556
- const int ret =
557
- UncompressAtMostOrAll(dest, destLen, source, &sourceLen, flush_mode);
558
- if (ret == Z_BUF_ERROR)
559
- UncompressErrorInit();
560
- return ret;
561
- }
562
-
563
- int ZLib::UncompressAtMost(Bytef *dest, uLongf *destLen,
564
- const Bytef *source, uLong *sourceLen) {
565
- return UncompressAtMostOrAll(dest, destLen, source, sourceLen, Z_SYNC_FLUSH);
566
- }
567
-
568
- // We make sure we've uncompressed everything, that is, the current
569
- // uncompress stream is at a compressed-buffer-EOF boundary. In gzip
570
- // mode, we also check the gzip footer to make sure we pass the gzip
571
- // consistency checks. We RETURN true iff both types of checks pass.
572
- bool ZLib::UncompressChunkDone() {
573
- assert(!first_chunk_ && uncomp_init_);
574
- // Make sure we're at the end-of-compressed-data point. This means
575
- // if we call inflate with Z_FINISH we won't consume any input or
576
- // write any output
577
- Bytef dummyin, dummyout;
578
- uLongf dummylen = 0;
579
- if ( UncompressChunkOrAll(&dummyout, &dummylen, &dummyin, 0, Z_FINISH)
580
- != Z_OK ) {
581
- return false;
582
- }
583
-
584
- // Make sure that when we exit, we can start a new round of chunks later
585
- Reset();
586
-
587
- return true;
588
- }
589
-
590
- // Uncompresses the source buffer into the destination buffer.
591
- // The destination buffer must be long enough to hold the entire
592
- // decompressed contents.
593
- //
594
- // We only initialize the uncomp_stream once. Thereafter, we use
595
- // inflateReset, which should be faster.
596
- //
597
- // Returns Z_OK on success, otherwise, it returns a zlib error code.
598
- int ZLib::Uncompress(Bytef *dest, uLongf *destLen,
599
- const Bytef *source, uLong sourceLen) {
600
- int err;
601
- if ( (err=UncompressChunkOrAll(dest, destLen, source, sourceLen,
602
- Z_FINISH)) != Z_OK ) {
603
- Reset(); // let us try to compress again
604
- return err;
605
- }
606
- if ( !UncompressChunkDone() ) // calls Reset()
607
- return Z_DATA_ERROR;
608
- return Z_OK; // stream_end is ok
609
- }
610
-
611
- #endif // HAVE_LIBZ
612
-
613
- } // namespace snappy