couchbase 3.0.0.alpha.3-universal-darwin-19 → 3.0.1-universal-darwin-19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1684) 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/libcouchbase.bundle +0 -0
  707. data/lib/couchbase/management/analytics_index_manager.rb +139 -25
  708. data/lib/couchbase/management/bucket_manager.rb +61 -28
  709. data/lib/couchbase/management/collection_manager.rb +3 -3
  710. data/lib/couchbase/management/query_index_manager.rb +59 -14
  711. data/lib/couchbase/management/search_index_manager.rb +57 -13
  712. data/lib/couchbase/management/user_manager.rb +157 -50
  713. data/lib/couchbase/management/view_index_manager.rb +70 -11
  714. data/lib/couchbase/mutation_state.rb +13 -0
  715. data/lib/couchbase/query_options.rb +263 -0
  716. data/lib/couchbase/scope.rb +62 -8
  717. data/lib/couchbase/search_options.rb +121 -33
  718. data/lib/couchbase/subdoc.rb +87 -23
  719. data/lib/couchbase/version.rb +2 -2
  720. data/lib/couchbase/view_options.rb +155 -0
  721. metadata +224 -1035
  722. data/.github/workflows/tests-6.0.3.yml +0 -49
  723. data/.github/workflows/tests-dev-preview.yml +0 -52
  724. data/.github/workflows/tests.yml +0 -47
  725. data/.gitignore +0 -20
  726. data/.gitmodules +0 -21
  727. data/.idea/.gitignore +0 -5
  728. data/.idea/dictionaries/gem_terms.xml +0 -18
  729. data/.idea/inspectionProfiles/Project_Default.xml +0 -8
  730. data/.idea/vcs.xml +0 -13
  731. data/.yardopts +0 -1
  732. data/Gemfile +0 -24
  733. data/Rakefile +0 -51
  734. data/bin/console +0 -21
  735. data/bin/init-cluster +0 -70
  736. data/bin/setup +0 -24
  737. data/couchbase.gemspec +0 -47
  738. data/examples/crud.rb +0 -20
  739. data/examples/managing_buckets.rb +0 -47
  740. data/examples/managing_collections.rb +0 -58
  741. data/examples/managing_query_indexes.rb +0 -63
  742. data/examples/managing_search_indexes.rb +0 -62
  743. data/examples/query.rb +0 -18
  744. data/examples/query_with_consistency.rb +0 -76
  745. data/examples/search.rb +0 -187
  746. data/examples/subdocument.rb +0 -51
  747. data/ext/.clang-format +0 -15
  748. data/ext/.clang-tidy +0 -21
  749. data/ext/.cmake-format.yaml +0 -8
  750. data/ext/.gitignore +0 -2
  751. data/ext/.idea/.name +0 -1
  752. data/ext/.idea/dictionaries/couchbase_terms.xml +0 -14
  753. data/ext/.idea/ext.iml +0 -2
  754. data/ext/.idea/misc.xml +0 -4
  755. data/ext/.idea/modules.xml +0 -8
  756. data/ext/.idea/vcs.xml +0 -12
  757. data/ext/couchbase/configuration_monitor.hxx +0 -93
  758. data/ext/couchbase/io/session_manager.hxx +0 -127
  759. data/ext/couchbase/operations/command.hxx +0 -152
  760. data/ext/test/main.cxx +0 -67
  761. data/ext/third_party/asio/.appveyor.yml +0 -107
  762. data/ext/third_party/asio/.cirrus.yml +0 -16
  763. data/ext/third_party/asio/.gitignore +0 -3
  764. data/ext/third_party/asio/.travis.yml +0 -323
  765. data/ext/third_party/asio/asio/.gitignore +0 -23
  766. data/ext/third_party/asio/asio/COPYING +0 -4
  767. data/ext/third_party/asio/asio/INSTALL +0 -5
  768. data/ext/third_party/asio/asio/LICENSE_1_0.txt +0 -23
  769. data/ext/third_party/asio/asio/Makefile.am +0 -19
  770. data/ext/third_party/asio/asio/README +0 -4
  771. data/ext/third_party/asio/asio/asio.manifest +0 -4865
  772. data/ext/third_party/asio/asio/autogen.sh +0 -55
  773. data/ext/third_party/asio/asio/boost_asio.manifest +0 -5193
  774. data/ext/third_party/asio/asio/boostify.pl +0 -603
  775. data/ext/third_party/asio/asio/configure.ac +0 -182
  776. data/ext/third_party/asio/asio/include/.gitignore +0 -2
  777. data/ext/third_party/asio/asio/include/Makefile.am +0 -484
  778. data/ext/third_party/asio/asio/include/asio/detail/io_object_executor.hpp +0 -167
  779. data/ext/third_party/asio/asio/include/asio/impl/src.cpp +0 -25
  780. data/ext/third_party/asio/asio/release.pl +0 -440
  781. data/ext/third_party/asio/asio/src/.gitignore +0 -11
  782. data/ext/third_party/asio/asio/src/Makefile.am +0 -23
  783. data/ext/third_party/asio/asio/src/Makefile.mgw +0 -204
  784. data/ext/third_party/asio/asio/src/Makefile.msc +0 -497
  785. data/ext/third_party/asio/asio/src/asio.cpp +0 -11
  786. data/ext/third_party/asio/asio/src/asio_ssl.cpp +0 -11
  787. data/ext/third_party/asio/asio/src/doc/.gitignore +0 -5
  788. data/ext/third_party/asio/asio/src/doc/Jamfile.v2 +0 -62
  789. data/ext/third_party/asio/asio/src/doc/asio.png +0 -0
  790. data/ext/third_party/asio/asio/src/doc/asio.qbk +0 -127
  791. data/ext/third_party/asio/asio/src/doc/asioref.sty +0 -90
  792. data/ext/third_party/asio/asio/src/doc/asioref.xsl +0 -94
  793. data/ext/third_party/asio/asio/src/doc/boost_bind_dox.txt +0 -5
  794. data/ext/third_party/asio/asio/src/doc/doxy2qbk.pl +0 -22
  795. data/ext/third_party/asio/asio/src/doc/examples.qbk +0 -564
  796. data/ext/third_party/asio/asio/src/doc/history.qbk +0 -1794
  797. data/ext/third_party/asio/asio/src/doc/index.xml +0 -13
  798. data/ext/third_party/asio/asio/src/doc/makepdf.pl +0 -26
  799. data/ext/third_party/asio/asio/src/doc/net_ts.qbk +0 -479
  800. data/ext/third_party/asio/asio/src/doc/noncopyable_dox.txt +0 -3
  801. data/ext/third_party/asio/asio/src/doc/overview.qbk +0 -103
  802. data/ext/third_party/asio/asio/src/doc/overview/allocation.qbk +0 -89
  803. data/ext/third_party/asio/asio/src/doc/overview/async.qbk +0 -185
  804. data/ext/third_party/asio/asio/src/doc/overview/async_op1.dot +0 -78
  805. data/ext/third_party/asio/asio/src/doc/overview/async_op1.png +0 -0
  806. data/ext/third_party/asio/asio/src/doc/overview/async_op2.dot +0 -78
  807. data/ext/third_party/asio/asio/src/doc/overview/async_op2.png +0 -0
  808. data/ext/third_party/asio/asio/src/doc/overview/basics.qbk +0 -106
  809. data/ext/third_party/asio/asio/src/doc/overview/bsd_sockets.qbk +0 -270
  810. data/ext/third_party/asio/asio/src/doc/overview/buffers.qbk +0 -163
  811. data/ext/third_party/asio/asio/src/doc/overview/concurrency_hint.qbk +0 -88
  812. data/ext/third_party/asio/asio/src/doc/overview/coroutine.qbk +0 -51
  813. data/ext/third_party/asio/asio/src/doc/overview/coroutines_ts.qbk +0 -97
  814. data/ext/third_party/asio/asio/src/doc/overview/cpp2011.qbk +0 -271
  815. data/ext/third_party/asio/asio/src/doc/overview/handler_tracking.qbk +0 -220
  816. data/ext/third_party/asio/asio/src/doc/overview/implementation.qbk +0 -305
  817. data/ext/third_party/asio/asio/src/doc/overview/iostreams.qbk +0 -72
  818. data/ext/third_party/asio/asio/src/doc/overview/line_based.qbk +0 -118
  819. data/ext/third_party/asio/asio/src/doc/overview/other_protocols.qbk +0 -94
  820. data/ext/third_party/asio/asio/src/doc/overview/posix.qbk +0 -152
  821. data/ext/third_party/asio/asio/src/doc/overview/proactor.dot +0 -100
  822. data/ext/third_party/asio/asio/src/doc/overview/proactor.png +0 -0
  823. data/ext/third_party/asio/asio/src/doc/overview/protocols.qbk +0 -149
  824. data/ext/third_party/asio/asio/src/doc/overview/rationale.qbk +0 -54
  825. data/ext/third_party/asio/asio/src/doc/overview/reactor.qbk +0 -44
  826. data/ext/third_party/asio/asio/src/doc/overview/serial_ports.qbk +0 -45
  827. data/ext/third_party/asio/asio/src/doc/overview/signals.qbk +0 -44
  828. data/ext/third_party/asio/asio/src/doc/overview/spawn.qbk +0 -102
  829. data/ext/third_party/asio/asio/src/doc/overview/ssl.qbk +0 -124
  830. data/ext/third_party/asio/asio/src/doc/overview/strands.qbk +0 -114
  831. data/ext/third_party/asio/asio/src/doc/overview/streams.qbk +0 -62
  832. data/ext/third_party/asio/asio/src/doc/overview/sync_op.dot +0 -67
  833. data/ext/third_party/asio/asio/src/doc/overview/sync_op.png +0 -0
  834. data/ext/third_party/asio/asio/src/doc/overview/threads.qbk +0 -67
  835. data/ext/third_party/asio/asio/src/doc/overview/timers.qbk +0 -52
  836. data/ext/third_party/asio/asio/src/doc/overview/windows.qbk +0 -126
  837. data/ext/third_party/asio/asio/src/doc/project-root.jam +0 -1
  838. data/ext/third_party/asio/asio/src/doc/quickref.xml +0 -561
  839. data/ext/third_party/asio/asio/src/doc/reference.dox +0 -264
  840. data/ext/third_party/asio/asio/src/doc/reference.qbk +0 -125973
  841. data/ext/third_party/asio/asio/src/doc/reference.xsl +0 -1831
  842. data/ext/third_party/asio/asio/src/doc/release_checklist.htm +0 -68
  843. data/ext/third_party/asio/asio/src/doc/requirements/AcceptHandler.qbk +0 -72
  844. data/ext/third_party/asio/asio/src/doc/requirements/AcceptableProtocol.qbk +0 -25
  845. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +0 -56
  846. data/ext/third_party/asio/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +0 -57
  847. data/ext/third_party/asio/asio/src/doc/requirements/AsyncReadStream.qbk +0 -50
  848. data/ext/third_party/asio/asio/src/doc/requirements/AsyncWriteStream.qbk +0 -48
  849. data/ext/third_party/asio/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +0 -55
  850. data/ext/third_party/asio/asio/src/doc/requirements/CompletionCondition.qbk +0 -42
  851. data/ext/third_party/asio/asio/src/doc/requirements/CompletionHandler.qbk +0 -63
  852. data/ext/third_party/asio/asio/src/doc/requirements/ConnectCondition.qbk +0 -34
  853. data/ext/third_party/asio/asio/src/doc/requirements/ConnectHandler.qbk +0 -72
  854. data/ext/third_party/asio/asio/src/doc/requirements/ConstBufferSequence.qbk +0 -53
  855. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer.qbk +0 -16
  856. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v1.qbk +0 -93
  857. data/ext/third_party/asio/asio/src/doc/requirements/DynamicBuffer_v2.qbk +0 -94
  858. data/ext/third_party/asio/asio/src/doc/requirements/Endpoint.qbk +0 -97
  859. data/ext/third_party/asio/asio/src/doc/requirements/EndpointSequence.qbk +0 -30
  860. data/ext/third_party/asio/asio/src/doc/requirements/ExecutionContext.qbk +0 -36
  861. data/ext/third_party/asio/asio/src/doc/requirements/Executor.qbk +0 -141
  862. data/ext/third_party/asio/asio/src/doc/requirements/GettableSerialPortOption.qbk +0 -33
  863. data/ext/third_party/asio/asio/src/doc/requirements/GettableSocketOption.qbk +0 -67
  864. data/ext/third_party/asio/asio/src/doc/requirements/Handler.qbk +0 -64
  865. data/ext/third_party/asio/asio/src/doc/requirements/HandshakeHandler.qbk +0 -72
  866. data/ext/third_party/asio/asio/src/doc/requirements/InternetProtocol.qbk +0 -47
  867. data/ext/third_party/asio/asio/src/doc/requirements/IoControlCommand.qbk +0 -34
  868. data/ext/third_party/asio/asio/src/doc/requirements/IoObjectService.qbk +0 -62
  869. data/ext/third_party/asio/asio/src/doc/requirements/IteratorConnectHandler.qbk +0 -81
  870. data/ext/third_party/asio/asio/src/doc/requirements/LegacyCompletionHandler.qbk +0 -65
  871. data/ext/third_party/asio/asio/src/doc/requirements/MoveAcceptHandler.qbk +0 -61
  872. data/ext/third_party/asio/asio/src/doc/requirements/MutableBufferSequence.qbk +0 -54
  873. data/ext/third_party/asio/asio/src/doc/requirements/ProtoAllocator.qbk +0 -19
  874. data/ext/third_party/asio/asio/src/doc/requirements/Protocol.qbk +0 -56
  875. data/ext/third_party/asio/asio/src/doc/requirements/RangeConnectHandler.qbk +0 -82
  876. data/ext/third_party/asio/asio/src/doc/requirements/ReadHandler.qbk +0 -79
  877. data/ext/third_party/asio/asio/src/doc/requirements/ResolveHandler.qbk +0 -82
  878. data/ext/third_party/asio/asio/src/doc/requirements/Service.qbk +0 -40
  879. data/ext/third_party/asio/asio/src/doc/requirements/SettableSerialPortOption.qbk +0 -33
  880. data/ext/third_party/asio/asio/src/doc/requirements/SettableSocketOption.qbk +0 -54
  881. data/ext/third_party/asio/asio/src/doc/requirements/ShutdownHandler.qbk +0 -72
  882. data/ext/third_party/asio/asio/src/doc/requirements/SignalHandler.qbk +0 -79
  883. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +0 -49
  884. data/ext/third_party/asio/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +0 -49
  885. data/ext/third_party/asio/asio/src/doc/requirements/SyncReadStream.qbk +0 -41
  886. data/ext/third_party/asio/asio/src/doc/requirements/SyncWriteStream.qbk +0 -39
  887. data/ext/third_party/asio/asio/src/doc/requirements/TimeTraits.qbk +0 -72
  888. data/ext/third_party/asio/asio/src/doc/requirements/WaitHandler.qbk +0 -72
  889. data/ext/third_party/asio/asio/src/doc/requirements/WaitTraits.qbk +0 -52
  890. data/ext/third_party/asio/asio/src/doc/requirements/WriteHandler.qbk +0 -79
  891. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_operations.qbk +0 -300
  892. data/ext/third_party/asio/asio/src/doc/requirements/asynchronous_socket_operations.qbk +0 -39
  893. data/ext/third_party/asio/asio/src/doc/requirements/read_write_operations.qbk +0 -34
  894. data/ext/third_party/asio/asio/src/doc/requirements/synchronous_socket_operations.qbk +0 -37
  895. data/ext/third_party/asio/asio/src/doc/std_exception_dox.txt +0 -7
  896. data/ext/third_party/asio/asio/src/doc/tutorial.dox +0 -226
  897. data/ext/third_party/asio/asio/src/doc/tutorial.qbk +0 -2387
  898. data/ext/third_party/asio/asio/src/doc/tutorial.xsl +0 -437
  899. data/ext/third_party/asio/asio/src/doc/using.qbk +0 -309
  900. data/ext/third_party/asio/asio/src/examples/cpp03/Makefile.am +0 -251
  901. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/.gitignore +0 -10
  902. data/ext/third_party/asio/asio/src/examples/cpp03/allocation/server.cpp +0 -285
  903. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/.gitignore +0 -10
  904. data/ext/third_party/asio/asio/src/examples/cpp03/buffers/reference_counted.cpp +0 -131
  905. data/ext/third_party/asio/asio/src/examples/cpp03/chat/.gitignore +0 -11
  906. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_client.cpp +0 -177
  907. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_message.hpp +0 -93
  908. data/ext/third_party/asio/asio/src/examples/cpp03/chat/chat_server.cpp +0 -249
  909. data/ext/third_party/asio/asio/src/examples/cpp03/chat/posix_chat_client.cpp +0 -204
  910. data/ext/third_party/asio/asio/src/examples/cpp03/echo/.gitignore +0 -11
  911. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_tcp_echo_server.cpp +0 -137
  912. data/ext/third_party/asio/asio/src/examples/cpp03/echo/async_udp_echo_server.cpp +0 -92
  913. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_client.cpp +0 -59
  914. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_tcp_echo_server.cpp +0 -79
  915. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_client.cpp +0 -59
  916. data/ext/third_party/asio/asio/src/examples/cpp03/echo/blocking_udp_echo_server.cpp +0 -53
  917. data/ext/third_party/asio/asio/src/examples/cpp03/fork/.gitignore +0 -11
  918. data/ext/third_party/asio/asio/src/examples/cpp03/fork/daemon.cpp +0 -190
  919. data/ext/third_party/asio/asio/src/examples/cpp03/fork/process_per_connection.cpp +0 -161
  920. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/.gitignore +0 -10
  921. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/async_client.cpp +0 -204
  922. data/ext/third_party/asio/asio/src/examples/cpp03/http/client/sync_client.cpp +0 -106
  923. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_1K.html +0 -28
  924. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_2K.html +0 -49
  925. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_4K.html +0 -91
  926. data/ext/third_party/asio/asio/src/examples/cpp03/http/doc_root/data_8K.html +0 -175
  927. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/.gitignore +0 -11
  928. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.cpp +0 -99
  929. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection.hpp +0 -83
  930. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.cpp +0 -38
  931. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/connection_manager.hpp +0 -44
  932. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/header.hpp +0 -28
  933. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/main.cpp +0 -44
  934. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.cpp +0 -46
  935. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/mime_types.hpp +0 -27
  936. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.cpp +0 -256
  937. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/reply.hpp +0 -64
  938. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request.hpp +0 -34
  939. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.cpp +0 -122
  940. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_handler.hpp +0 -46
  941. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.cpp +0 -315
  942. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/request_parser.hpp +0 -95
  943. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.cpp +0 -94
  944. data/ext/third_party/asio/asio/src/examples/cpp03/http/server/server.hpp +0 -69
  945. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/.gitignore +0 -11
  946. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.cpp +0 -93
  947. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/connection.hpp +0 -75
  948. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/header.hpp +0 -28
  949. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.cpp +0 -69
  950. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/io_context_pool.hpp +0 -58
  951. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/main.cpp +0 -46
  952. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.cpp +0 -46
  953. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/mime_types.hpp +0 -27
  954. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.cpp +0 -256
  955. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/reply.hpp +0 -64
  956. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request.hpp +0 -34
  957. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.cpp +0 -122
  958. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_handler.hpp +0 -46
  959. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.cpp +0 -315
  960. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/request_parser.hpp +0 -95
  961. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.cpp +0 -77
  962. data/ext/third_party/asio/asio/src/examples/cpp03/http/server2/server.hpp +0 -68
  963. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/.gitignore +0 -11
  964. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.cpp +0 -94
  965. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/connection.hpp +0 -78
  966. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/header.hpp +0 -28
  967. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/main.cpp +0 -46
  968. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.cpp +0 -46
  969. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/mime_types.hpp +0 -27
  970. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.cpp +0 -256
  971. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/reply.hpp +0 -64
  972. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request.hpp +0 -34
  973. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.cpp +0 -122
  974. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_handler.hpp +0 -46
  975. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.cpp +0 -315
  976. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/request_parser.hpp +0 -95
  977. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.cpp +0 -89
  978. data/ext/third_party/asio/asio/src/examples/cpp03/http/server3/server.hpp +0 -70
  979. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/.gitignore +0 -11
  980. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.cpp +0 -122
  981. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/file_handler.hpp +0 -44
  982. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/header.hpp +0 -28
  983. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/main.cpp +0 -58
  984. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.cpp +0 -46
  985. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/mime_types.hpp +0 -27
  986. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.cpp +0 -256
  987. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/reply.hpp +0 -64
  988. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request.hpp +0 -46
  989. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.cpp +0 -226
  990. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/request_parser.hpp +0 -78
  991. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.cpp +0 -122
  992. data/ext/third_party/asio/asio/src/examples/cpp03/http/server4/server.hpp +0 -73
  993. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/.gitignore +0 -10
  994. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/icmp_header.hpp +0 -94
  995. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ipv4_header.hpp +0 -102
  996. data/ext/third_party/asio/asio/src/examples/cpp03/icmp/ping.cpp +0 -163
  997. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/.gitignore +0 -10
  998. data/ext/third_party/asio/asio/src/examples/cpp03/invocation/prioritised_handlers.cpp +0 -171
  999. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/.gitignore +0 -11
  1000. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_client.cpp +0 -44
  1001. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/daytime_server.cpp +0 -51
  1002. data/ext/third_party/asio/asio/src/examples/cpp03/iostreams/http_client.cpp +0 -91
  1003. data/ext/third_party/asio/asio/src/examples/cpp03/local/.gitignore +0 -13
  1004. data/ext/third_party/asio/asio/src/examples/cpp03/local/connect_pair.cpp +0 -141
  1005. data/ext/third_party/asio/asio/src/examples/cpp03/local/iostream_client.cpp +0 -62
  1006. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_client.cpp +0 -61
  1007. data/ext/third_party/asio/asio/src/examples/cpp03/local/stream_server.cpp +0 -141
  1008. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/.gitignore +0 -11
  1009. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/receiver.cpp +0 -93
  1010. data/ext/third_party/asio/asio/src/examples/cpp03/multicast/sender.cpp +0 -98
  1011. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/.gitignore +0 -10
  1012. data/ext/third_party/asio/asio/src/examples/cpp03/nonblocking/third_party_lib.cpp +0 -240
  1013. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/.gitignore +0 -11
  1014. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/client.cpp +0 -192
  1015. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/protocol.hpp +0 -156
  1016. data/ext/third_party/asio/asio/src/examples/cpp03/porthopper/server.cpp +0 -187
  1017. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/.gitignore +0 -11
  1018. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/client.cpp +0 -125
  1019. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/connection.hpp +0 -188
  1020. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/server.cpp +0 -123
  1021. data/ext/third_party/asio/asio/src/examples/cpp03/serialization/stock.hpp +0 -50
  1022. data/ext/third_party/asio/asio/src/examples/cpp03/services/.gitignore +0 -11
  1023. data/ext/third_party/asio/asio/src/examples/cpp03/services/basic_logger.hpp +0 -83
  1024. data/ext/third_party/asio/asio/src/examples/cpp03/services/daytime_client.cpp +0 -97
  1025. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger.hpp +0 -24
  1026. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.cpp +0 -11
  1027. data/ext/third_party/asio/asio/src/examples/cpp03/services/logger_service.hpp +0 -145
  1028. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/.gitignore +0 -10
  1029. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/socks4.hpp +0 -144
  1030. data/ext/third_party/asio/asio/src/examples/cpp03/socks4/sync_client.cpp +0 -94
  1031. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/.gitignore +0 -12
  1032. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/echo_server.cpp +0 -122
  1033. data/ext/third_party/asio/asio/src/examples/cpp03/spawn/parallel_grep.cpp +0 -89
  1034. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/.gitignore +0 -11
  1035. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/README +0 -8
  1036. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/ca.pem +0 -49
  1037. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/client.cpp +0 -157
  1038. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/dh2048.pem +0 -8
  1039. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.cpp +0 -170
  1040. data/ext/third_party/asio/asio/src/examples/cpp03/ssl/server.pem +0 -71
  1041. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/.gitignore +0 -11
  1042. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/async_tcp_client.cpp +0 -311
  1043. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_tcp_client.cpp +0 -191
  1044. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_token_tcp_client.cpp +0 -200
  1045. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/blocking_udp_client.cpp +0 -154
  1046. data/ext/third_party/asio/asio/src/examples/cpp03/timeouts/server.cpp +0 -433
  1047. data/ext/third_party/asio/asio/src/examples/cpp03/timers/.gitignore +0 -10
  1048. data/ext/third_party/asio/asio/src/examples/cpp03/timers/time_t_timer.cpp +0 -106
  1049. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/.gitignore +0 -10
  1050. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime1/client.cpp +0 -57
  1051. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/.gitignore +0 -10
  1052. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime2/server.cpp +0 -50
  1053. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/.gitignore +0 -10
  1054. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime3/server.cpp +0 -119
  1055. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/.gitignore +0 -10
  1056. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime4/client.cpp +0 -52
  1057. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/.gitignore +0 -10
  1058. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime5/server.cpp +0 -53
  1059. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/.gitignore +0 -10
  1060. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime6/server.cpp +0 -89
  1061. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/.gitignore +0 -10
  1062. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime7/server.cpp +0 -160
  1063. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/daytime_dox.txt +0 -500
  1064. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/index_dox.txt +0 -48
  1065. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/.gitignore +0 -10
  1066. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer1/timer.cpp +0 -24
  1067. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/.gitignore +0 -10
  1068. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer2/timer.cpp +0 -29
  1069. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/.gitignore +0 -10
  1070. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer3/timer.cpp +0 -43
  1071. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/.gitignore +0 -10
  1072. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer4/timer.cpp +0 -54
  1073. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/.gitignore +0 -10
  1074. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer5/timer.cpp +0 -80
  1075. data/ext/third_party/asio/asio/src/examples/cpp03/tutorial/timer_dox.txt +0 -378
  1076. data/ext/third_party/asio/asio/src/examples/cpp03/windows/.gitignore +0 -10
  1077. data/ext/third_party/asio/asio/src/examples/cpp03/windows/transmit_file.cpp +0 -177
  1078. data/ext/third_party/asio/asio/src/examples/cpp11/Makefile.am +0 -161
  1079. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/.gitignore +0 -10
  1080. data/ext/third_party/asio/asio/src/examples/cpp11/allocation/server.cpp +0 -255
  1081. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/.gitignore +0 -10
  1082. data/ext/third_party/asio/asio/src/examples/cpp11/buffers/reference_counted.cpp +0 -122
  1083. data/ext/third_party/asio/asio/src/examples/cpp11/chat/.gitignore +0 -11
  1084. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_client.cpp +0 -167
  1085. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_message.hpp +0 -91
  1086. data/ext/third_party/asio/asio/src/examples/cpp11/chat/chat_server.cpp +0 -227
  1087. data/ext/third_party/asio/asio/src/examples/cpp11/echo/.gitignore +0 -11
  1088. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_tcp_echo_server.cpp +0 -114
  1089. data/ext/third_party/asio/asio/src/examples/cpp11/echo/async_udp_echo_server.cpp +0 -82
  1090. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_client.cpp +0 -55
  1091. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_tcp_echo_server.cpp +0 -74
  1092. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_client.cpp +0 -58
  1093. data/ext/third_party/asio/asio/src/examples/cpp11/echo/blocking_udp_echo_server.cpp +0 -52
  1094. data/ext/third_party/asio/asio/src/examples/cpp11/executors/.gitignore +0 -5
  1095. data/ext/third_party/asio/asio/src/examples/cpp11/executors/actor.cpp +0 -286
  1096. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_1.cpp +0 -54
  1097. data/ext/third_party/asio/asio/src/examples/cpp11/executors/bank_account_2.cpp +0 -54
  1098. data/ext/third_party/asio/asio/src/examples/cpp11/executors/fork_join.cpp +0 -328
  1099. data/ext/third_party/asio/asio/src/examples/cpp11/executors/pipeline.cpp +0 -299
  1100. data/ext/third_party/asio/asio/src/examples/cpp11/executors/priority_scheduler.cpp +0 -174
  1101. data/ext/third_party/asio/asio/src/examples/cpp11/fork/.gitignore +0 -11
  1102. data/ext/third_party/asio/asio/src/examples/cpp11/fork/daemon.cpp +0 -189
  1103. data/ext/third_party/asio/asio/src/examples/cpp11/fork/process_per_connection.cpp +0 -162
  1104. data/ext/third_party/asio/asio/src/examples/cpp11/futures/.gitignore +0 -11
  1105. data/ext/third_party/asio/asio/src/examples/cpp11/futures/daytime_client.cpp +0 -94
  1106. data/ext/third_party/asio/asio/src/examples/cpp11/handler_tracking/custom_tracking.hpp +0 -201
  1107. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/.gitignore +0 -11
  1108. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.cpp +0 -94
  1109. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection.hpp +0 -79
  1110. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.cpp +0 -40
  1111. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/connection_manager.hpp +0 -48
  1112. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/header.hpp +0 -28
  1113. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/main.cpp +0 -43
  1114. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.cpp +0 -45
  1115. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/mime_types.hpp +0 -27
  1116. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.cpp +0 -255
  1117. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/reply.hpp +0 -64
  1118. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request.hpp +0 -34
  1119. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.cpp +0 -121
  1120. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_handler.hpp +0 -47
  1121. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.cpp +0 -315
  1122. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/request_parser.hpp +0 -96
  1123. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.cpp +0 -94
  1124. data/ext/third_party/asio/asio/src/examples/cpp11/http/server/server.hpp +0 -64
  1125. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/.gitignore +0 -10
  1126. data/ext/third_party/asio/asio/src/examples/cpp11/invocation/prioritised_handlers.cpp +0 -202
  1127. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/.gitignore +0 -11
  1128. data/ext/third_party/asio/asio/src/examples/cpp11/iostreams/http_client.cpp +0 -91
  1129. data/ext/third_party/asio/asio/src/examples/cpp11/local/.gitignore +0 -13
  1130. data/ext/third_party/asio/asio/src/examples/cpp11/local/connect_pair.cpp +0 -129
  1131. data/ext/third_party/asio/asio/src/examples/cpp11/local/iostream_client.cpp +0 -61
  1132. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_client.cpp +0 -60
  1133. data/ext/third_party/asio/asio/src/examples/cpp11/local/stream_server.cpp +0 -121
  1134. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/.gitignore +0 -11
  1135. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/receiver.cpp +0 -88
  1136. data/ext/third_party/asio/asio/src/examples/cpp11/multicast/sender.cpp +0 -91
  1137. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/.gitignore +0 -10
  1138. data/ext/third_party/asio/asio/src/examples/cpp11/nonblocking/third_party_lib.cpp +0 -212
  1139. data/ext/third_party/asio/asio/src/examples/cpp11/operations/.gitignore +0 -10
  1140. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_1.cpp +0 -113
  1141. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_2.cpp +0 -131
  1142. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_3.cpp +0 -192
  1143. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_4.cpp +0 -207
  1144. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_5.cpp +0 -243
  1145. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_6.cpp +0 -302
  1146. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_7.cpp +0 -222
  1147. data/ext/third_party/asio/asio/src/examples/cpp11/operations/composed_8.cpp +0 -217
  1148. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/.gitignore +0 -10
  1149. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/socks4.hpp +0 -143
  1150. data/ext/third_party/asio/asio/src/examples/cpp11/socks4/sync_client.cpp +0 -93
  1151. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/.gitignore +0 -12
  1152. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/echo_server.cpp +0 -111
  1153. data/ext/third_party/asio/asio/src/examples/cpp11/spawn/parallel_grep.cpp +0 -84
  1154. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/.gitignore +0 -11
  1155. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/README +0 -8
  1156. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/ca.pem +0 -49
  1157. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/client.cpp +0 -165
  1158. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/dh2048.pem +0 -8
  1159. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.cpp +0 -143
  1160. data/ext/third_party/asio/asio/src/examples/cpp11/ssl/server.pem +0 -71
  1161. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/.gitignore +0 -11
  1162. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/async_tcp_client.cpp +0 -311
  1163. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_tcp_client.cpp +0 -192
  1164. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_token_tcp_client.cpp +0 -197
  1165. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/blocking_udp_client.cpp +0 -155
  1166. data/ext/third_party/asio/asio/src/examples/cpp11/timeouts/server.cpp +0 -433
  1167. data/ext/third_party/asio/asio/src/examples/cpp11/timers/.gitignore +0 -10
  1168. data/ext/third_party/asio/asio/src/examples/cpp11/timers/time_t_timer.cpp +0 -106
  1169. data/ext/third_party/asio/asio/src/examples/cpp14/Makefile.am +0 -64
  1170. data/ext/third_party/asio/asio/src/examples/cpp14/echo/.gitignore +0 -11
  1171. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_tcp_echo_server.cpp +0 -117
  1172. data/ext/third_party/asio/asio/src/examples/cpp14/echo/async_udp_echo_server.cpp +0 -83
  1173. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_client.cpp +0 -55
  1174. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_tcp_echo_server.cpp +0 -77
  1175. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_client.cpp +0 -59
  1176. data/ext/third_party/asio/asio/src/examples/cpp14/echo/blocking_udp_echo_server.cpp +0 -53
  1177. data/ext/third_party/asio/asio/src/examples/cpp14/executors/.gitignore +0 -6
  1178. data/ext/third_party/asio/asio/src/examples/cpp14/executors/actor.cpp +0 -281
  1179. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_1.cpp +0 -47
  1180. data/ext/third_party/asio/asio/src/examples/cpp14/executors/async_2.cpp +0 -68
  1181. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_1.cpp +0 -54
  1182. data/ext/third_party/asio/asio/src/examples/cpp14/executors/bank_account_2.cpp +0 -53
  1183. data/ext/third_party/asio/asio/src/examples/cpp14/executors/fork_join.cpp +0 -327
  1184. data/ext/third_party/asio/asio/src/examples/cpp14/executors/pipeline.cpp +0 -294
  1185. data/ext/third_party/asio/asio/src/examples/cpp14/executors/priority_scheduler.cpp +0 -173
  1186. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/.gitignore +0 -11
  1187. data/ext/third_party/asio/asio/src/examples/cpp14/iostreams/http_client.cpp +0 -91
  1188. data/ext/third_party/asio/asio/src/examples/cpp14/operations/.gitignore +0 -10
  1189. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_1.cpp +0 -113
  1190. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_2.cpp +0 -131
  1191. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_3.cpp +0 -186
  1192. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_4.cpp +0 -201
  1193. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_5.cpp +0 -238
  1194. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_6.cpp +0 -298
  1195. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_7.cpp +0 -219
  1196. data/ext/third_party/asio/asio/src/examples/cpp14/operations/composed_8.cpp +0 -212
  1197. data/ext/third_party/asio/asio/src/examples/cpp17/Makefile.am +0 -8
  1198. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/chat_server.cpp +0 -225
  1199. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server.cpp +0 -76
  1200. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/echo_server_with_default.cpp +0 -78
  1201. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/range_based_for.cpp +0 -107
  1202. data/ext/third_party/asio/asio/src/examples/cpp17/coroutines_ts/refactored_echo_server.cpp +0 -85
  1203. data/ext/third_party/asio/asio/src/tests/.gitignore +0 -11
  1204. data/ext/third_party/asio/asio/src/tests/Makefile.am +0 -432
  1205. data/ext/third_party/asio/asio/src/tests/latency/.gitignore +0 -11
  1206. data/ext/third_party/asio/asio/src/tests/latency/allocator.hpp +0 -52
  1207. data/ext/third_party/asio/asio/src/tests/latency/high_res_clock.hpp +0 -53
  1208. data/ext/third_party/asio/asio/src/tests/latency/tcp_client.cpp +0 -124
  1209. data/ext/third_party/asio/asio/src/tests/latency/tcp_server.cpp +0 -114
  1210. data/ext/third_party/asio/asio/src/tests/latency/udp_client.cpp +0 -104
  1211. data/ext/third_party/asio/asio/src/tests/latency/udp_server.cpp +0 -125
  1212. data/ext/third_party/asio/asio/src/tests/performance/.gitignore +0 -11
  1213. data/ext/third_party/asio/asio/src/tests/performance/client.cpp +0 -286
  1214. data/ext/third_party/asio/asio/src/tests/performance/handler_allocator.hpp +0 -112
  1215. data/ext/third_party/asio/asio/src/tests/performance/server.cpp +0 -233
  1216. data/ext/third_party/asio/asio/src/tests/unit/.gitignore +0 -75
  1217. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_ops.hpp +0 -415
  1218. data/ext/third_party/asio/asio/src/tests/unit/archetypes/async_result.hpp +0 -94
  1219. data/ext/third_party/asio/asio/src/tests/unit/archetypes/gettable_socket_option.hpp +0 -54
  1220. data/ext/third_party/asio/asio/src/tests/unit/archetypes/io_control_command.hpp +0 -32
  1221. data/ext/third_party/asio/asio/src/tests/unit/archetypes/settable_socket_option.hpp +0 -49
  1222. data/ext/third_party/asio/asio/src/tests/unit/associated_allocator.cpp +0 -25
  1223. data/ext/third_party/asio/asio/src/tests/unit/associated_executor.cpp +0 -25
  1224. data/ext/third_party/asio/asio/src/tests/unit/async_result.cpp +0 -25
  1225. data/ext/third_party/asio/asio/src/tests/unit/awaitable.cpp +0 -25
  1226. data/ext/third_party/asio/asio/src/tests/unit/basic_datagram_socket.cpp +0 -25
  1227. data/ext/third_party/asio/asio/src/tests/unit/basic_deadline_timer.cpp +0 -25
  1228. data/ext/third_party/asio/asio/src/tests/unit/basic_raw_socket.cpp +0 -25
  1229. data/ext/third_party/asio/asio/src/tests/unit/basic_seq_packet_socket.cpp +0 -25
  1230. data/ext/third_party/asio/asio/src/tests/unit/basic_serial_port.cpp +0 -26
  1231. data/ext/third_party/asio/asio/src/tests/unit/basic_signal_set.cpp +0 -25
  1232. data/ext/third_party/asio/asio/src/tests/unit/basic_socket.cpp +0 -25
  1233. data/ext/third_party/asio/asio/src/tests/unit/basic_socket_acceptor.cpp +0 -25
  1234. data/ext/third_party/asio/asio/src/tests/unit/basic_stream_socket.cpp +0 -25
  1235. data/ext/third_party/asio/asio/src/tests/unit/basic_streambuf.cpp +0 -25
  1236. data/ext/third_party/asio/asio/src/tests/unit/basic_waitable_timer.cpp +0 -25
  1237. data/ext/third_party/asio/asio/src/tests/unit/bind_executor.cpp +0 -25
  1238. data/ext/third_party/asio/asio/src/tests/unit/buffer.cpp +0 -830
  1239. data/ext/third_party/asio/asio/src/tests/unit/buffered_read_stream.cpp +0 -338
  1240. data/ext/third_party/asio/asio/src/tests/unit/buffered_stream.cpp +0 -364
  1241. data/ext/third_party/asio/asio/src/tests/unit/buffered_write_stream.cpp +0 -353
  1242. data/ext/third_party/asio/asio/src/tests/unit/buffers_iterator.cpp +0 -292
  1243. data/ext/third_party/asio/asio/src/tests/unit/co_spawn.cpp +0 -25
  1244. data/ext/third_party/asio/asio/src/tests/unit/completion_condition.cpp +0 -25
  1245. data/ext/third_party/asio/asio/src/tests/unit/compose.cpp +0 -185
  1246. data/ext/third_party/asio/asio/src/tests/unit/connect.cpp +0 -1190
  1247. data/ext/third_party/asio/asio/src/tests/unit/coroutine.cpp +0 -112
  1248. data/ext/third_party/asio/asio/src/tests/unit/deadline_timer.cpp +0 -392
  1249. data/ext/third_party/asio/asio/src/tests/unit/defer.cpp +0 -25
  1250. data/ext/third_party/asio/asio/src/tests/unit/detached.cpp +0 -25
  1251. data/ext/third_party/asio/asio/src/tests/unit/dispatch.cpp +0 -25
  1252. data/ext/third_party/asio/asio/src/tests/unit/error.cpp +0 -89
  1253. data/ext/third_party/asio/asio/src/tests/unit/execution_context.cpp +0 -25
  1254. data/ext/third_party/asio/asio/src/tests/unit/executor.cpp +0 -25
  1255. data/ext/third_party/asio/asio/src/tests/unit/executor_work_guard.cpp +0 -25
  1256. data/ext/third_party/asio/asio/src/tests/unit/generic/.gitignore +0 -14
  1257. data/ext/third_party/asio/asio/src/tests/unit/generic/basic_endpoint.cpp +0 -25
  1258. data/ext/third_party/asio/asio/src/tests/unit/generic/datagram_protocol.cpp +0 -263
  1259. data/ext/third_party/asio/asio/src/tests/unit/generic/raw_protocol.cpp +0 -263
  1260. data/ext/third_party/asio/asio/src/tests/unit/generic/seq_packet_protocol.cpp +0 -205
  1261. data/ext/third_party/asio/asio/src/tests/unit/generic/stream_protocol.cpp +0 -248
  1262. data/ext/third_party/asio/asio/src/tests/unit/high_resolution_timer.cpp +0 -30
  1263. data/ext/third_party/asio/asio/src/tests/unit/io_context.cpp +0 -362
  1264. data/ext/third_party/asio/asio/src/tests/unit/io_context_strand.cpp +0 -325
  1265. data/ext/third_party/asio/asio/src/tests/unit/ip/.gitignore +0 -27
  1266. data/ext/third_party/asio/asio/src/tests/unit/ip/address.cpp +0 -144
  1267. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_endpoint.cpp +0 -25
  1268. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver.cpp +0 -25
  1269. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_entry.cpp +0 -25
  1270. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_iterator.cpp +0 -25
  1271. data/ext/third_party/asio/asio/src/tests/unit/ip/basic_resolver_query.cpp +0 -25
  1272. data/ext/third_party/asio/asio/src/tests/unit/ip/host_name.cpp +0 -55
  1273. data/ext/third_party/asio/asio/src/tests/unit/ip/icmp.cpp +0 -577
  1274. data/ext/third_party/asio/asio/src/tests/unit/ip/multicast.cpp +0 -363
  1275. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v4.cpp +0 -314
  1276. data/ext/third_party/asio/asio/src/tests/unit/ip/network_v6.cpp +0 -238
  1277. data/ext/third_party/asio/asio/src/tests/unit/ip/resolver_query_base.cpp +0 -25
  1278. data/ext/third_party/asio/asio/src/tests/unit/ip/tcp.cpp +0 -1346
  1279. data/ext/third_party/asio/asio/src/tests/unit/ip/udp.cpp +0 -673
  1280. data/ext/third_party/asio/asio/src/tests/unit/ip/unicast.cpp +0 -171
  1281. data/ext/third_party/asio/asio/src/tests/unit/ip/v6_only.cpp +0 -135
  1282. data/ext/third_party/asio/asio/src/tests/unit/is_read_buffered.cpp +0 -129
  1283. data/ext/third_party/asio/asio/src/tests/unit/is_write_buffered.cpp +0 -129
  1284. data/ext/third_party/asio/asio/src/tests/unit/local/.gitignore +0 -13
  1285. data/ext/third_party/asio/asio/src/tests/unit/local/basic_endpoint.cpp +0 -25
  1286. data/ext/third_party/asio/asio/src/tests/unit/local/connect_pair.cpp +0 -76
  1287. data/ext/third_party/asio/asio/src/tests/unit/local/datagram_protocol.cpp +0 -242
  1288. data/ext/third_party/asio/asio/src/tests/unit/local/stream_protocol.cpp +0 -219
  1289. data/ext/third_party/asio/asio/src/tests/unit/packaged_task.cpp +0 -25
  1290. data/ext/third_party/asio/asio/src/tests/unit/placeholders.cpp +0 -25
  1291. data/ext/third_party/asio/asio/src/tests/unit/posix/.gitignore +0 -14
  1292. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_descriptor.cpp +0 -25
  1293. data/ext/third_party/asio/asio/src/tests/unit/posix/basic_stream_descriptor.cpp +0 -25
  1294. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor.cpp +0 -25
  1295. data/ext/third_party/asio/asio/src/tests/unit/posix/descriptor_base.cpp +0 -25
  1296. data/ext/third_party/asio/asio/src/tests/unit/posix/stream_descriptor.cpp +0 -183
  1297. data/ext/third_party/asio/asio/src/tests/unit/post.cpp +0 -25
  1298. data/ext/third_party/asio/asio/src/tests/unit/read.cpp +0 -4997
  1299. data/ext/third_party/asio/asio/src/tests/unit/read_at.cpp +0 -7502
  1300. data/ext/third_party/asio/asio/src/tests/unit/read_until.cpp +0 -1658
  1301. data/ext/third_party/asio/asio/src/tests/unit/redirect_error.cpp +0 -25
  1302. data/ext/third_party/asio/asio/src/tests/unit/serial_port.cpp +0 -173
  1303. data/ext/third_party/asio/asio/src/tests/unit/serial_port_base.cpp +0 -99
  1304. data/ext/third_party/asio/asio/src/tests/unit/signal_set.cpp +0 -95
  1305. data/ext/third_party/asio/asio/src/tests/unit/socket_base.cpp +0 -650
  1306. data/ext/third_party/asio/asio/src/tests/unit/ssl/.gitignore +0 -15
  1307. data/ext/third_party/asio/asio/src/tests/unit/ssl/context.cpp +0 -25
  1308. data/ext/third_party/asio/asio/src/tests/unit/ssl/context_base.cpp +0 -25
  1309. data/ext/third_party/asio/asio/src/tests/unit/ssl/error.cpp +0 -25
  1310. data/ext/third_party/asio/asio/src/tests/unit/ssl/host_name_verification.cpp +0 -25
  1311. data/ext/third_party/asio/asio/src/tests/unit/ssl/rfc2818_verification.cpp +0 -25
  1312. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream.cpp +0 -191
  1313. data/ext/third_party/asio/asio/src/tests/unit/ssl/stream_base.cpp +0 -25
  1314. data/ext/third_party/asio/asio/src/tests/unit/steady_timer.cpp +0 -30
  1315. data/ext/third_party/asio/asio/src/tests/unit/strand.cpp +0 -263
  1316. data/ext/third_party/asio/asio/src/tests/unit/streambuf.cpp +0 -62
  1317. data/ext/third_party/asio/asio/src/tests/unit/system_context.cpp +0 -30
  1318. data/ext/third_party/asio/asio/src/tests/unit/system_executor.cpp +0 -30
  1319. data/ext/third_party/asio/asio/src/tests/unit/system_timer.cpp +0 -399
  1320. data/ext/third_party/asio/asio/src/tests/unit/this_coro.cpp +0 -25
  1321. data/ext/third_party/asio/asio/src/tests/unit/thread.cpp +0 -25
  1322. data/ext/third_party/asio/asio/src/tests/unit/time_traits.cpp +0 -25
  1323. data/ext/third_party/asio/asio/src/tests/unit/ts/.gitignore +0 -17
  1324. data/ext/third_party/asio/asio/src/tests/unit/ts/buffer.cpp +0 -30
  1325. data/ext/third_party/asio/asio/src/tests/unit/ts/executor.cpp +0 -30
  1326. data/ext/third_party/asio/asio/src/tests/unit/ts/internet.cpp +0 -30
  1327. data/ext/third_party/asio/asio/src/tests/unit/ts/io_context.cpp +0 -30
  1328. data/ext/third_party/asio/asio/src/tests/unit/ts/net.cpp +0 -30
  1329. data/ext/third_party/asio/asio/src/tests/unit/ts/netfwd.cpp +0 -33
  1330. data/ext/third_party/asio/asio/src/tests/unit/ts/socket.cpp +0 -30
  1331. data/ext/third_party/asio/asio/src/tests/unit/ts/timer.cpp +0 -30
  1332. data/ext/third_party/asio/asio/src/tests/unit/unit_test.hpp +0 -175
  1333. data/ext/third_party/asio/asio/src/tests/unit/use_awaitable.cpp +0 -25
  1334. data/ext/third_party/asio/asio/src/tests/unit/use_future.cpp +0 -670
  1335. data/ext/third_party/asio/asio/src/tests/unit/uses_executor.cpp +0 -25
  1336. data/ext/third_party/asio/asio/src/tests/unit/wait_traits.cpp +0 -25
  1337. data/ext/third_party/asio/asio/src/tests/unit/windows/.gitignore +0 -18
  1338. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_object_handle.cpp +0 -25
  1339. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_overlapped_handle.cpp +0 -25
  1340. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_random_access_handle.cpp +0 -25
  1341. data/ext/third_party/asio/asio/src/tests/unit/windows/basic_stream_handle.cpp +0 -25
  1342. data/ext/third_party/asio/asio/src/tests/unit/windows/object_handle.cpp +0 -130
  1343. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_handle.cpp +0 -26
  1344. data/ext/third_party/asio/asio/src/tests/unit/windows/overlapped_ptr.cpp +0 -107
  1345. data/ext/third_party/asio/asio/src/tests/unit/windows/random_access_handle.cpp +0 -155
  1346. data/ext/third_party/asio/asio/src/tests/unit/windows/stream_handle.cpp +0 -148
  1347. data/ext/third_party/asio/asio/src/tests/unit/write.cpp +0 -4904
  1348. data/ext/third_party/asio/asio/src/tests/unit/write_at.cpp +0 -7563
  1349. data/ext/third_party/asio/asio/src/tools/handlerviz.pl +0 -299
  1350. data/ext/third_party/asio/asio/tsify.pl +0 -574
  1351. data/ext/third_party/gsl/.clang-format +0 -34
  1352. data/ext/third_party/gsl/.github/workflows/main.yml +0 -94
  1353. data/ext/third_party/gsl/.gitignore +0 -16
  1354. data/ext/third_party/gsl/.travis.yml +0 -551
  1355. data/ext/third_party/gsl/CMakeSettings.json +0 -18
  1356. data/ext/third_party/gsl/CONTRIBUTING.md +0 -29
  1357. data/ext/third_party/gsl/GSL.natvis +0 -98
  1358. data/ext/third_party/gsl/README.md +0 -124
  1359. data/ext/third_party/gsl/appveyor.yml +0 -128
  1360. data/ext/third_party/gsl/tests/CMakeLists.txt +0 -267
  1361. data/ext/third_party/gsl/tests/CMakeLists.txt.in +0 -14
  1362. data/ext/third_party/gsl/tests/algorithm_tests.cpp +0 -227
  1363. data/ext/third_party/gsl/tests/assertion_tests.cpp +0 -61
  1364. data/ext/third_party/gsl/tests/at_tests.cpp +0 -135
  1365. data/ext/third_party/gsl/tests/bounds_tests.cpp +0 -102
  1366. data/ext/third_party/gsl/tests/byte_tests.cpp +0 -129
  1367. data/ext/third_party/gsl/tests/multi_span_tests.cpp +0 -1866
  1368. data/ext/third_party/gsl/tests/no_exception_ensure_tests.cpp +0 -48
  1369. data/ext/third_party/gsl/tests/notnull_tests.cpp +0 -535
  1370. data/ext/third_party/gsl/tests/owner_tests.cpp +0 -43
  1371. data/ext/third_party/gsl/tests/span_compatibility_tests.cpp +0 -1021
  1372. data/ext/third_party/gsl/tests/span_ext_tests.cpp +0 -360
  1373. data/ext/third_party/gsl/tests/span_tests.cpp +0 -1244
  1374. data/ext/third_party/gsl/tests/strict_notnull_tests.cpp +0 -190
  1375. data/ext/third_party/gsl/tests/strided_span_tests.cpp +0 -790
  1376. data/ext/third_party/gsl/tests/string_span_tests.cpp +0 -1217
  1377. data/ext/third_party/gsl/tests/utils_tests.cpp +0 -129
  1378. data/ext/third_party/http_parser/.gitignore +0 -30
  1379. data/ext/third_party/http_parser/.mailmap +0 -8
  1380. data/ext/third_party/http_parser/.travis.yml +0 -13
  1381. data/ext/third_party/http_parser/AUTHORS +0 -68
  1382. data/ext/third_party/http_parser/README.md +0 -246
  1383. data/ext/third_party/http_parser/bench.c +0 -128
  1384. data/ext/third_party/http_parser/contrib/parsertrace.c +0 -157
  1385. data/ext/third_party/http_parser/contrib/url_parser.c +0 -47
  1386. data/ext/third_party/http_parser/fuzzers/fuzz_parser.c +0 -26
  1387. data/ext/third_party/http_parser/fuzzers/fuzz_url.c +0 -14
  1388. data/ext/third_party/http_parser/http_parser.gyp +0 -111
  1389. data/ext/third_party/http_parser/test.c +0 -4600
  1390. data/ext/third_party/json/.appveyor.yml +0 -44
  1391. data/ext/third_party/json/.clang-format +0 -84
  1392. data/ext/third_party/json/.conan/build.py +0 -80
  1393. data/ext/third_party/json/.conan/test_package/CMakeLists.txt +0 -12
  1394. data/ext/third_party/json/.conan/test_package/conanfile.py +0 -24
  1395. data/ext/third_party/json/.conan/test_package/test_package.cpp +0 -16
  1396. data/ext/third_party/json/.gitignore +0 -3
  1397. data/ext/third_party/json/.travis.yml +0 -173
  1398. data/ext/third_party/json/README.md +0 -149
  1399. data/ext/third_party/json/conanfile.py +0 -28
  1400. data/ext/third_party/json/contrib/nlohmann.cpp +0 -48
  1401. data/ext/third_party/json/contrib/nlohmann/from_value.hpp +0 -62
  1402. data/ext/third_party/json/contrib/nlohmann/json.hpp +0 -18928
  1403. data/ext/third_party/json/contrib/nlohmann/to_value.hpp +0 -109
  1404. data/ext/third_party/json/doc/Advanced-Use-Cases.md +0 -83
  1405. data/ext/third_party/json/doc/Batteries-Included.md +0 -212
  1406. data/ext/third_party/json/doc/Binding-Traits.md +0 -319
  1407. data/ext/third_party/json/doc/Changelog.md +0 -31
  1408. data/ext/third_party/json/doc/Common-Use-Cases.md +0 -148
  1409. data/ext/third_party/json/doc/Design-Decisions.md +0 -36
  1410. data/ext/third_party/json/doc/Events-Interface.md +0 -140
  1411. data/ext/third_party/json/doc/Getting-Started.md +0 -19
  1412. data/ext/third_party/json/doc/Instance-Sharing.md +0 -163
  1413. data/ext/third_party/json/doc/Interoperability.md +0 -75
  1414. data/ext/third_party/json/doc/Overview.md +0 -24
  1415. data/ext/third_party/json/doc/Overview.png +0 -0
  1416. data/ext/third_party/json/doc/Parser-Interface.md +0 -84
  1417. data/ext/third_party/json/doc/README.md +0 -78
  1418. data/ext/third_party/json/doc/Scratchpad.md +0 -25
  1419. data/ext/third_party/json/doc/Type-Traits.md +0 -364
  1420. data/ext/third_party/json/doc/Types.png +0 -0
  1421. data/ext/third_party/json/doc/Value-Class.md +0 -525
  1422. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/analyze_cycles.hpp +0 -127
  1423. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/counted.hpp +0 -23
  1424. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/generic.hpp +0 -31
  1425. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/grammar_info.hpp +0 -32
  1426. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_guard.hpp +0 -51
  1427. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/insert_rules.hpp +0 -25
  1428. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_info.hpp +0 -29
  1429. data/ext/third_party/json/include/tao/json/external/pegtl/analysis/rule_type.hpp +0 -21
  1430. data/ext/third_party/json/include/tao/json/external/pegtl/analyze.hpp +0 -21
  1431. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/counter.hpp +0 -54
  1432. data/ext/third_party/json/include/tao/json/external/pegtl/contrib/tracer.hpp +0 -158
  1433. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alnum.hpp +0 -18
  1434. data/ext/third_party/json/include/tao/json/external/pegtl/internal/alpha.hpp +0 -18
  1435. data/ext/third_party/json/include/tao/json/external/pegtl/internal/always_false.hpp +0 -21
  1436. data/ext/third_party/json/include/tao/json/external/pegtl/internal/demangle.hpp +0 -140
  1437. data/ext/third_party/json/include/tao/json/external/pegtl/internal/dusel_mode.hpp +0 -23
  1438. data/ext/third_party/json/include/tao/json/external/pegtl/internal/duseltronik.hpp +0 -187
  1439. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian.hpp +0 -62
  1440. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_gcc.hpp +0 -206
  1441. data/ext/third_party/json/include/tao/json/external/pegtl/internal/endian_win.hpp +0 -106
  1442. data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_opener.hpp +0 -72
  1443. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint.hpp +0 -54
  1444. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_mask_uint8.hpp +0 -34
  1445. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint.hpp +0 -45
  1446. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_uint8.hpp +0 -33
  1447. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf16.hpp +0 -54
  1448. data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf32.hpp +0 -43
  1449. data/ext/third_party/json/include/tao/json/external/pegtl/internal/read_uint.hpp +0 -77
  1450. data/ext/third_party/json/include/tao/json/external/pegtl/internal/skip_control.hpp +0 -25
  1451. data/ext/third_party/json/include/tao/json/external/pegtl/internal/trivial.hpp +0 -32
  1452. data/ext/third_party/json/include/tao/json/external/pegtl/uint16.hpp +0 -62
  1453. data/ext/third_party/json/include/tao/json/external/pegtl/uint32.hpp +0 -62
  1454. data/ext/third_party/json/include/tao/json/external/pegtl/uint64.hpp +0 -63
  1455. data/ext/third_party/json/include/tao/json/external/pegtl/uint8.hpp +0 -36
  1456. data/ext/third_party/json/include/tao/json/external/pegtl/utf16.hpp +0 -49
  1457. data/ext/third_party/json/include/tao/json/external/pegtl/utf32.hpp +0 -49
  1458. data/ext/third_party/json/src/example/json/CMakeLists.txt +0 -67
  1459. data/ext/third_party/json/src/example/json/cbor_to_jaxn.cpp +0 -18
  1460. data/ext/third_party/json/src/example/json/cbor_to_json.cpp +0 -18
  1461. data/ext/third_party/json/src/example/json/cbor_to_msgpack.cpp +0 -18
  1462. data/ext/third_party/json/src/example/json/cbor_to_pretty_jaxn.cpp +0 -18
  1463. data/ext/third_party/json/src/example/json/cbor_to_pretty_json.cpp +0 -18
  1464. data/ext/third_party/json/src/example/json/cbor_to_ubjson.cpp +0 -18
  1465. data/ext/third_party/json/src/example/json/jaxn_to_cbor.cpp +0 -18
  1466. data/ext/third_party/json/src/example/json/jaxn_to_cplusplus.cpp +0 -249
  1467. data/ext/third_party/json/src/example/json/jaxn_to_jaxn.cpp +0 -18
  1468. data/ext/third_party/json/src/example/json/jaxn_to_msgpack.cpp +0 -18
  1469. data/ext/third_party/json/src/example/json/jaxn_to_pretty_jaxn.cpp +0 -18
  1470. data/ext/third_party/json/src/example/json/jaxn_to_ubjson.cpp +0 -18
  1471. data/ext/third_party/json/src/example/json/json_to_cbor.cpp +0 -18
  1472. data/ext/third_party/json/src/example/json/json_to_json.cpp +0 -18
  1473. data/ext/third_party/json/src/example/json/json_to_msgpack.cpp +0 -18
  1474. data/ext/third_party/json/src/example/json/json_to_pretty_json.cpp +0 -18
  1475. data/ext/third_party/json/src/example/json/json_to_ubjson.cpp +0 -18
  1476. data/ext/third_party/json/src/example/json/msgpack_to_cbor.cpp +0 -18
  1477. data/ext/third_party/json/src/example/json/msgpack_to_jaxn.cpp +0 -18
  1478. data/ext/third_party/json/src/example/json/msgpack_to_json.cpp +0 -18
  1479. data/ext/third_party/json/src/example/json/msgpack_to_pretty_jaxn.cpp +0 -18
  1480. data/ext/third_party/json/src/example/json/msgpack_to_pretty_json.cpp +0 -18
  1481. data/ext/third_party/json/src/example/json/msgpack_to_ubjson.cpp +0 -18
  1482. data/ext/third_party/json/src/example/json/printf_doubles.cpp +0 -51
  1483. data/ext/third_party/json/src/example/json/ubjson_to_cbor.cpp +0 -18
  1484. data/ext/third_party/json/src/example/json/ubjson_to_jaxn.cpp +0 -18
  1485. data/ext/third_party/json/src/example/json/ubjson_to_json.cpp +0 -18
  1486. data/ext/third_party/json/src/example/json/ubjson_to_msgpack.cpp +0 -18
  1487. data/ext/third_party/json/src/example/json/ubjson_to_pretty_jaxn.cpp +0 -18
  1488. data/ext/third_party/json/src/example/json/ubjson_to_pretty_json.cpp +0 -18
  1489. data/ext/third_party/json/src/example/json/validate_event_order.cpp +0 -27
  1490. data/ext/third_party/json/src/example/json/validate_integer.cpp +0 -56
  1491. data/ext/third_party/json/src/perf/json/bench_mark.hpp +0 -43
  1492. data/ext/third_party/json/src/perf/json/benchmark.cpp +0 -34
  1493. data/ext/third_party/json/src/perf/json/parse_file.cpp +0 -17
  1494. data/ext/third_party/json/src/perf/json/pretty_print_file.cpp +0 -19
  1495. data/ext/third_party/json/src/perf/json/print_double.cpp +0 -34
  1496. data/ext/third_party/json/src/perf/json/print_file.cpp +0 -19
  1497. data/ext/third_party/json/src/perf/json/sizes.cpp +0 -24
  1498. data/ext/third_party/json/src/perf/json/syntax_only.cpp +0 -27
  1499. data/ext/third_party/json/src/test/json/CMakeLists.txt +0 -97
  1500. data/ext/third_party/json/src/test/json/big_list_of_naughty_strings.cpp +0 -43
  1501. data/ext/third_party/json/src/test/json/binding_array.cpp +0 -549
  1502. data/ext/third_party/json/src/test/json/binding_factory.cpp +0 -265
  1503. data/ext/third_party/json/src/test/json/binding_object.cpp +0 -208
  1504. data/ext/third_party/json/src/test/json/binding_versions.cpp +0 -95
  1505. data/ext/third_party/json/src/test/json/cbor.cpp +0 -149
  1506. data/ext/third_party/json/src/test/json/cbor_parts_parser.cpp +0 -36
  1507. data/ext/third_party/json/src/test/json/contrib_diff.cpp +0 -43
  1508. data/ext/third_party/json/src/test/json/contrib_get.cpp +0 -42
  1509. data/ext/third_party/json/src/test/json/contrib_patch_add.cpp +0 -75
  1510. data/ext/third_party/json/src/test/json/contrib_patch_copy.cpp +0 -113
  1511. data/ext/third_party/json/src/test/json/contrib_patch_move.cpp +0 -97
  1512. data/ext/third_party/json/src/test/json/contrib_patch_remove.cpp +0 -85
  1513. data/ext/third_party/json/src/test/json/contrib_patch_replace.cpp +0 -79
  1514. data/ext/third_party/json/src/test/json/contrib_patch_test.cpp +0 -69
  1515. data/ext/third_party/json/src/test/json/contrib_position.cpp +0 -48
  1516. data/ext/third_party/json/src/test/json/contrib_reference.cpp +0 -44
  1517. data/ext/third_party/json/src/test/json/contrib_schema.cpp +0 -132
  1518. data/ext/third_party/json/src/test/json/contrib_traits.cpp +0 -258
  1519. data/ext/third_party/json/src/test/json/double.cpp +0 -182
  1520. data/ext/third_party/json/src/test/json/enable_implicit_constructor.cpp +0 -54
  1521. data/ext/third_party/json/src/test/json/escape.cpp +0 -42
  1522. data/ext/third_party/json/src/test/json/events_binary_to.cpp +0 -56
  1523. data/ext/third_party/json/src/test/json/events_compare.cpp +0 -433
  1524. data/ext/third_party/json/src/test/json/events_debug.cpp +0 -24
  1525. data/ext/third_party/json/src/test/json/events_hash.cpp +0 -65
  1526. data/ext/third_party/json/src/test/json/events_to_stream.cpp +0 -28
  1527. data/ext/third_party/json/src/test/json/events_to_string.cpp +0 -25
  1528. data/ext/third_party/json/src/test/json/include_json.cpp +0 -14
  1529. data/ext/third_party/json/src/test/json/integer.cpp +0 -118
  1530. data/ext/third_party/json/src/test/json/jaxn_ostream.cpp +0 -76
  1531. data/ext/third_party/json/src/test/json/jaxn_parse.cpp +0 -239
  1532. data/ext/third_party/json/src/test/json/jaxn_parts_parser.cpp +0 -220
  1533. data/ext/third_party/json/src/test/json/json_ostream.cpp +0 -102
  1534. data/ext/third_party/json/src/test/json/json_parse.cpp +0 -153
  1535. data/ext/third_party/json/src/test/json/json_parts_parser.cpp +0 -124
  1536. data/ext/third_party/json/src/test/json/json_pointer.cpp +0 -176
  1537. data/ext/third_party/json/src/test/json/key_camel_case_to_snake_case.cpp +0 -38
  1538. data/ext/third_party/json/src/test/json/key_snake_case_to_camel_case.cpp +0 -33
  1539. data/ext/third_party/json/src/test/json/literal.cpp +0 -18
  1540. data/ext/third_party/json/src/test/json/main.hpp +0 -20
  1541. data/ext/third_party/json/src/test/json/make_events.hpp +0 -362
  1542. data/ext/third_party/json/src/test/json/msgpack.cpp +0 -136
  1543. data/ext/third_party/json/src/test/json/object_construction.cpp +0 -167
  1544. data/ext/third_party/json/src/test/json/opaque_pointer.cpp +0 -192
  1545. data/ext/third_party/json/src/test/json/operators.cpp +0 -494
  1546. data/ext/third_party/json/src/test/json/optional.cpp +0 -79
  1547. data/ext/third_party/json/src/test/json/public_base.cpp +0 -142
  1548. data/ext/third_party/json/src/test/json/self_contained.cpp +0 -106
  1549. data/ext/third_party/json/src/test/json/sha256.cpp +0 -38
  1550. data/ext/third_party/json/src/test/json/string_view.cpp +0 -70
  1551. data/ext/third_party/json/src/test/json/temporary_parsing.cpp +0 -339
  1552. data/ext/third_party/json/src/test/json/test.hpp +0 -74
  1553. data/ext/third_party/json/src/test/json/test_events.hpp +0 -250
  1554. data/ext/third_party/json/src/test/json/test_types.hpp +0 -557
  1555. data/ext/third_party/json/src/test/json/test_unhex.hpp +0 -42
  1556. data/ext/third_party/json/src/test/json/type.cpp +0 -35
  1557. data/ext/third_party/json/src/test/json/ubjson.cpp +0 -119
  1558. data/ext/third_party/json/src/test/json/uri_fragment.cpp +0 -52
  1559. data/ext/third_party/json/src/test/json/validate_event_interfaces.cpp +0 -177
  1560. data/ext/third_party/json/src/test/json/validate_utf8.cpp +0 -37
  1561. data/ext/third_party/json/src/test/json/value_access.cpp +0 -144
  1562. data/ext/third_party/json/src/test/json/value_basics.cpp +0 -241
  1563. data/ext/third_party/json/src/test/json/value_create.cpp +0 -372
  1564. data/ext/third_party/json/src/test/json/value_ptr.cpp +0 -33
  1565. data/ext/third_party/json/src/test/json/value_subscript.cpp +0 -89
  1566. data/ext/third_party/json/src/test/json/with_arguments.cpp +0 -98
  1567. data/ext/third_party/json/tests/blns.json +0 -496
  1568. data/ext/third_party/json/tests/canada.json +0 -9
  1569. data/ext/third_party/json/tests/citm_catalog.json +0 -50469
  1570. data/ext/third_party/json/tests/draft4/additionalItems.json +0 -82
  1571. data/ext/third_party/json/tests/draft4/additionalProperties.json +0 -88
  1572. data/ext/third_party/json/tests/draft4/allOf.json +0 -112
  1573. data/ext/third_party/json/tests/draft4/anyOf.json +0 -68
  1574. data/ext/third_party/json/tests/draft4/default.json +0 -49
  1575. data/ext/third_party/json/tests/draft4/definitions.json +0 -32
  1576. data/ext/third_party/json/tests/draft4/dependencies.json +0 -113
  1577. data/ext/third_party/json/tests/draft4/enum.json +0 -72
  1578. data/ext/third_party/json/tests/draft4/items.json +0 -46
  1579. data/ext/third_party/json/tests/draft4/maxItems.json +0 -28
  1580. data/ext/third_party/json/tests/draft4/maxLength.json +0 -33
  1581. data/ext/third_party/json/tests/draft4/maxProperties.json +0 -28
  1582. data/ext/third_party/json/tests/draft4/maximum.json +0 -42
  1583. data/ext/third_party/json/tests/draft4/minItems.json +0 -28
  1584. data/ext/third_party/json/tests/draft4/minLength.json +0 -33
  1585. data/ext/third_party/json/tests/draft4/minProperties.json +0 -28
  1586. data/ext/third_party/json/tests/draft4/minimum.json +0 -42
  1587. data/ext/third_party/json/tests/draft4/multipleOf.json +0 -60
  1588. data/ext/third_party/json/tests/draft4/not.json +0 -96
  1589. data/ext/third_party/json/tests/draft4/oneOf.json +0 -68
  1590. data/ext/third_party/json/tests/draft4/optional/bignum.json +0 -107
  1591. data/ext/third_party/json/tests/draft4/optional/format.json +0 -148
  1592. data/ext/third_party/json/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  1593. data/ext/third_party/json/tests/draft4/pattern.json +0 -34
  1594. data/ext/third_party/json/tests/draft4/patternProperties.json +0 -110
  1595. data/ext/third_party/json/tests/draft4/properties.json +0 -92
  1596. data/ext/third_party/json/tests/draft4/ref.json +0 -179
  1597. data/ext/third_party/json/tests/draft4/refRemote.json +0 -74
  1598. data/ext/third_party/json/tests/draft4/required.json +0 -44
  1599. data/ext/third_party/json/tests/draft4/type.json +0 -345
  1600. data/ext/third_party/json/tests/draft4/uniqueItems.json +0 -79
  1601. data/ext/third_party/json/tests/taocpp/binary.jaxn +0 -4
  1602. data/ext/third_party/json/tests/taocpp/dateTime.json +0 -108
  1603. data/ext/third_party/json/tests/taocpp/make_events.cbor +0 -0
  1604. data/ext/third_party/json/tests/taocpp/number.json +0 -682
  1605. data/ext/third_party/json/tests/taocpp/position.json +0 -8
  1606. data/ext/third_party/json/tests/taocpp/schema.json +0 -378
  1607. data/ext/third_party/json/tests/twitter.json +0 -15482
  1608. data/ext/third_party/snappy/.appveyor.yml +0 -36
  1609. data/ext/third_party/snappy/.gitignore +0 -8
  1610. data/ext/third_party/snappy/.travis.yml +0 -98
  1611. data/ext/third_party/snappy/AUTHORS +0 -1
  1612. data/ext/third_party/snappy/CONTRIBUTING.md +0 -26
  1613. data/ext/third_party/snappy/NEWS +0 -188
  1614. data/ext/third_party/snappy/README.md +0 -148
  1615. data/ext/third_party/snappy/docs/README.md +0 -72
  1616. data/ext/third_party/snappy/format_description.txt +0 -110
  1617. data/ext/third_party/snappy/framing_format.txt +0 -135
  1618. data/ext/third_party/snappy/snappy-test.cc +0 -613
  1619. data/ext/third_party/snappy/snappy-test.h +0 -526
  1620. data/ext/third_party/snappy/snappy_compress_fuzzer.cc +0 -60
  1621. data/ext/third_party/snappy/snappy_uncompress_fuzzer.cc +0 -58
  1622. data/ext/third_party/snappy/snappy_unittest.cc +0 -1512
  1623. data/ext/third_party/snappy/testdata/alice29.txt +0 -3609
  1624. data/ext/third_party/snappy/testdata/asyoulik.txt +0 -4122
  1625. data/ext/third_party/snappy/testdata/baddata1.snappy +0 -0
  1626. data/ext/third_party/snappy/testdata/baddata2.snappy +0 -0
  1627. data/ext/third_party/snappy/testdata/baddata3.snappy +0 -0
  1628. data/ext/third_party/snappy/testdata/fireworks.jpeg +0 -0
  1629. data/ext/third_party/snappy/testdata/geo.protodata +0 -0
  1630. data/ext/third_party/snappy/testdata/html +0 -1
  1631. data/ext/third_party/snappy/testdata/html_x_4 +0 -1
  1632. data/ext/third_party/snappy/testdata/kppkn.gtb +0 -0
  1633. data/ext/third_party/snappy/testdata/lcet10.txt +0 -7519
  1634. data/ext/third_party/snappy/testdata/paper-100k.pdf +2 -600
  1635. data/ext/third_party/snappy/testdata/plrabn12.txt +0 -10699
  1636. data/ext/third_party/snappy/testdata/urls.10K +0 -10000
  1637. data/ext/third_party/spdlog/.clang-format +0 -108
  1638. data/ext/third_party/spdlog/.clang-tidy +0 -54
  1639. data/ext/third_party/spdlog/.gitattributes +0 -1
  1640. data/ext/third_party/spdlog/.gitignore +0 -83
  1641. data/ext/third_party/spdlog/.travis.yml +0 -112
  1642. data/ext/third_party/spdlog/INSTALL +0 -24
  1643. data/ext/third_party/spdlog/README.md +0 -423
  1644. data/ext/third_party/spdlog/appveyor.yml +0 -51
  1645. data/ext/third_party/spdlog/bench/CMakeLists.txt +0 -25
  1646. data/ext/third_party/spdlog/bench/async_bench.cpp +0 -179
  1647. data/ext/third_party/spdlog/bench/bench.cpp +0 -238
  1648. data/ext/third_party/spdlog/bench/formatter-bench.cpp +0 -80
  1649. data/ext/third_party/spdlog/bench/latency.cpp +0 -166
  1650. data/ext/third_party/spdlog/bench/utils.h +0 -34
  1651. data/ext/third_party/spdlog/example/CMakeLists.txt +0 -23
  1652. data/ext/third_party/spdlog/example/example.cpp +0 -282
  1653. data/ext/third_party/spdlog/include/spdlog/cfg/log_levels.h +0 -47
  1654. data/ext/third_party/spdlog/logos/jetbrains-variant-4.svg +0 -43
  1655. data/ext/third_party/spdlog/scripts/extract_version.py +0 -17
  1656. data/ext/third_party/spdlog/scripts/format.sh +0 -16
  1657. data/ext/third_party/spdlog/tests/CMakeLists.txt +0 -70
  1658. data/ext/third_party/spdlog/tests/catch.hpp +0 -15372
  1659. data/ext/third_party/spdlog/tests/catch.license +0 -23
  1660. data/ext/third_party/spdlog/tests/includes.h +0 -26
  1661. data/ext/third_party/spdlog/tests/main.cpp +0 -2
  1662. data/ext/third_party/spdlog/tests/test_async.cpp +0 -188
  1663. data/ext/third_party/spdlog/tests/test_backtrace.cpp +0 -65
  1664. data/ext/third_party/spdlog/tests/test_cfg.cpp +0 -93
  1665. data/ext/third_party/spdlog/tests/test_create_dir.cpp +0 -80
  1666. data/ext/third_party/spdlog/tests/test_daily_logger.cpp +0 -149
  1667. data/ext/third_party/spdlog/tests/test_dup_filter.cpp +0 -88
  1668. data/ext/third_party/spdlog/tests/test_errors.cpp +0 -118
  1669. data/ext/third_party/spdlog/tests/test_eventlog.cpp +0 -71
  1670. data/ext/third_party/spdlog/tests/test_file_helper.cpp +0 -102
  1671. data/ext/third_party/spdlog/tests/test_file_logging.cpp +0 -98
  1672. data/ext/third_party/spdlog/tests/test_fmt_helper.cpp +0 -86
  1673. data/ext/third_party/spdlog/tests/test_macros.cpp +0 -60
  1674. data/ext/third_party/spdlog/tests/test_misc.cpp +0 -271
  1675. data/ext/third_party/spdlog/tests/test_mpmc_q.cpp +0 -106
  1676. data/ext/third_party/spdlog/tests/test_pattern_formatter.cpp +0 -443
  1677. data/ext/third_party/spdlog/tests/test_registry.cpp +0 -116
  1678. data/ext/third_party/spdlog/tests/test_sink.h +0 -79
  1679. data/ext/third_party/spdlog/tests/test_stdout_api.cpp +0 -98
  1680. data/ext/third_party/spdlog/tests/test_systemd.cpp +0 -15
  1681. data/ext/third_party/spdlog/tests/test_time_point.cpp +0 -36
  1682. data/ext/third_party/spdlog/tests/utils.cpp +0 -125
  1683. data/ext/third_party/spdlog/tests/utils.h +0 -18
  1684. 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