couchbase 3.0.3-universal-darwin-20
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.
- checksums.yaml +7 -0
- data/LICENSE.txt +202 -0
- data/README.md +131 -0
- data/ext/CMakeLists.txt +130 -0
- data/ext/LICENSE.txt +202 -0
- data/ext/build_config.hxx.in +22 -0
- data/ext/build_version.hxx.in +30 -0
- data/ext/cmake/Backtrace.cmake +35 -0
- data/ext/cmake/BuildTracing.cmake +6 -0
- data/ext/cmake/Cache.cmake +29 -0
- data/ext/cmake/CompilerWarnings.cmake +84 -0
- data/ext/cmake/PreventInSourceBuilds.cmake +21 -0
- data/ext/cmake/Sanitizers.cmake +66 -0
- data/ext/cmake/StandardProjectSettings.cmake +40 -0
- data/ext/cmake/StaticAnalyzers.cmake +37 -0
- data/ext/cmake/Testing.cmake +49 -0
- data/ext/cmake/ThirdPartyDependencies.cmake +20 -0
- data/ext/cmake/VersionInfo.cmake +37 -0
- data/ext/couchbase/bucket.hxx +372 -0
- data/ext/couchbase/capabilities.hxx +117 -0
- data/ext/couchbase/cbcrypto/cbcrypto.cc +888 -0
- data/ext/couchbase/cbcrypto/cbcrypto.h +89 -0
- data/ext/couchbase/cbsasl/client.cc +48 -0
- data/ext/couchbase/cbsasl/client.h +127 -0
- data/ext/couchbase/cbsasl/context.cc +33 -0
- data/ext/couchbase/cbsasl/context.h +52 -0
- data/ext/couchbase/cbsasl/error.h +72 -0
- data/ext/couchbase/cbsasl/mechanism.cc +48 -0
- data/ext/couchbase/cbsasl/mechanism.h +55 -0
- data/ext/couchbase/cbsasl/plain/plain.cc +36 -0
- data/ext/couchbase/cbsasl/plain/plain.h +53 -0
- data/ext/couchbase/cbsasl/scram-sha/scram-sha.cc +390 -0
- data/ext/couchbase/cbsasl/scram-sha/scram-sha.h +185 -0
- data/ext/couchbase/cbsasl/scram-sha/stringutils.cc +81 -0
- data/ext/couchbase/cbsasl/scram-sha/stringutils.h +48 -0
- data/ext/couchbase/cluster.hxx +356 -0
- data/ext/couchbase/cluster_options.hxx +54 -0
- data/ext/couchbase/collections_manifest.hxx +88 -0
- data/ext/couchbase/configuration.hxx +652 -0
- data/ext/couchbase/couchbase.cxx +8015 -0
- data/ext/couchbase/diagnostics.hxx +248 -0
- data/ext/couchbase/document_id.hxx +40 -0
- data/ext/couchbase/error_context/analytics.hxx +46 -0
- data/ext/couchbase/error_context/http.hxx +44 -0
- data/ext/couchbase/error_context/key_value.hxx +47 -0
- data/ext/couchbase/error_context/query.hxx +46 -0
- data/ext/couchbase/error_context/search.hxx +47 -0
- data/ext/couchbase/error_context/view.hxx +47 -0
- data/ext/couchbase/error_map.hxx +261 -0
- data/ext/couchbase/errors.hxx +706 -0
- data/ext/couchbase/io/dns_client.hxx +217 -0
- data/ext/couchbase/io/dns_codec.hxx +206 -0
- data/ext/couchbase/io/dns_config.hxx +116 -0
- data/ext/couchbase/io/dns_message.hxx +555 -0
- data/ext/couchbase/io/http_command.hxx +111 -0
- data/ext/couchbase/io/http_context.hxx +37 -0
- data/ext/couchbase/io/http_message.hxx +47 -0
- data/ext/couchbase/io/http_parser.hxx +176 -0
- data/ext/couchbase/io/http_session.hxx +444 -0
- data/ext/couchbase/io/http_session_manager.hxx +264 -0
- data/ext/couchbase/io/mcbp_command.hxx +249 -0
- data/ext/couchbase/io/mcbp_context.hxx +37 -0
- data/ext/couchbase/io/mcbp_message.hxx +63 -0
- data/ext/couchbase/io/mcbp_parser.hxx +101 -0
- data/ext/couchbase/io/mcbp_session.hxx +1350 -0
- data/ext/couchbase/io/query_cache.hxx +61 -0
- data/ext/couchbase/io/retry_action.hxx +30 -0
- data/ext/couchbase/io/retry_context.hxx +38 -0
- data/ext/couchbase/io/retry_orchestrator.hxx +112 -0
- data/ext/couchbase/io/retry_reason.hxx +235 -0
- data/ext/couchbase/io/retry_strategy.hxx +156 -0
- data/ext/couchbase/io/streams.hxx +216 -0
- data/ext/couchbase/mutation_token.hxx +38 -0
- data/ext/couchbase/operations.hxx +109 -0
- data/ext/couchbase/operations/analytics_dataset_create.hxx +125 -0
- data/ext/couchbase/operations/analytics_dataset_drop.hxx +112 -0
- data/ext/couchbase/operations/analytics_dataset_get_all.hxx +114 -0
- data/ext/couchbase/operations/analytics_dataverse_create.hxx +112 -0
- data/ext/couchbase/operations/analytics_dataverse_drop.hxx +111 -0
- data/ext/couchbase/operations/analytics_get_pending_mutations.hxx +99 -0
- data/ext/couchbase/operations/analytics_index_create.hxx +135 -0
- data/ext/couchbase/operations/analytics_index_drop.hxx +117 -0
- data/ext/couchbase/operations/analytics_index_get_all.hxx +113 -0
- data/ext/couchbase/operations/analytics_link_connect.hxx +109 -0
- data/ext/couchbase/operations/analytics_link_disconnect.hxx +108 -0
- data/ext/couchbase/operations/bucket_create.hxx +171 -0
- data/ext/couchbase/operations/bucket_drop.hxx +70 -0
- data/ext/couchbase/operations/bucket_flush.hxx +69 -0
- data/ext/couchbase/operations/bucket_get.hxx +78 -0
- data/ext/couchbase/operations/bucket_get_all.hxx +73 -0
- data/ext/couchbase/operations/bucket_settings.hxx +166 -0
- data/ext/couchbase/operations/bucket_update.hxx +147 -0
- data/ext/couchbase/operations/cluster_developer_preview_enable.hxx +64 -0
- data/ext/couchbase/operations/collection_create.hxx +102 -0
- data/ext/couchbase/operations/collection_drop.hxx +92 -0
- data/ext/couchbase/operations/collections_manifest_get.hxx +66 -0
- data/ext/couchbase/operations/design_document.hxx +59 -0
- data/ext/couchbase/operations/document_analytics.hxx +316 -0
- data/ext/couchbase/operations/document_append.hxx +72 -0
- data/ext/couchbase/operations/document_decrement.hxx +83 -0
- data/ext/couchbase/operations/document_exists.hxx +83 -0
- data/ext/couchbase/operations/document_get.hxx +66 -0
- data/ext/couchbase/operations/document_get_and_lock.hxx +67 -0
- data/ext/couchbase/operations/document_get_and_touch.hxx +67 -0
- data/ext/couchbase/operations/document_get_projected.hxx +257 -0
- data/ext/couchbase/operations/document_increment.hxx +85 -0
- data/ext/couchbase/operations/document_insert.hxx +77 -0
- data/ext/couchbase/operations/document_lookup_in.hxx +112 -0
- data/ext/couchbase/operations/document_mutate_in.hxx +151 -0
- data/ext/couchbase/operations/document_prepend.hxx +72 -0
- data/ext/couchbase/operations/document_query.hxx +440 -0
- data/ext/couchbase/operations/document_remove.hxx +72 -0
- data/ext/couchbase/operations/document_replace.hxx +79 -0
- data/ext/couchbase/operations/document_search.hxx +392 -0
- data/ext/couchbase/operations/document_touch.hxx +63 -0
- data/ext/couchbase/operations/document_unlock.hxx +63 -0
- data/ext/couchbase/operations/document_upsert.hxx +77 -0
- data/ext/couchbase/operations/document_view.hxx +245 -0
- data/ext/couchbase/operations/group_drop.hxx +72 -0
- data/ext/couchbase/operations/group_get.hxx +80 -0
- data/ext/couchbase/operations/group_get_all.hxx +77 -0
- data/ext/couchbase/operations/group_upsert.hxx +125 -0
- data/ext/couchbase/operations/http_noop.hxx +78 -0
- data/ext/couchbase/operations/mcbp_noop.hxx +55 -0
- data/ext/couchbase/operations/query_index_build_deferred.hxx +93 -0
- data/ext/couchbase/operations/query_index_create.hxx +152 -0
- data/ext/couchbase/operations/query_index_drop.hxx +126 -0
- data/ext/couchbase/operations/query_index_get_all.hxx +124 -0
- data/ext/couchbase/operations/rbac.hxx +276 -0
- data/ext/couchbase/operations/role_get_all.hxx +77 -0
- data/ext/couchbase/operations/scope_create.hxx +95 -0
- data/ext/couchbase/operations/scope_drop.hxx +89 -0
- data/ext/couchbase/operations/scope_get_all.hxx +82 -0
- data/ext/couchbase/operations/search_get_stats.hxx +60 -0
- data/ext/couchbase/operations/search_index.hxx +79 -0
- data/ext/couchbase/operations/search_index_analyze_document.hxx +105 -0
- data/ext/couchbase/operations/search_index_control_ingest.hxx +93 -0
- data/ext/couchbase/operations/search_index_control_plan_freeze.hxx +93 -0
- data/ext/couchbase/operations/search_index_control_query.hxx +93 -0
- data/ext/couchbase/operations/search_index_drop.hxx +90 -0
- data/ext/couchbase/operations/search_index_get.hxx +93 -0
- data/ext/couchbase/operations/search_index_get_all.hxx +89 -0
- data/ext/couchbase/operations/search_index_get_documents_count.hxx +101 -0
- data/ext/couchbase/operations/search_index_get_stats.hxx +88 -0
- data/ext/couchbase/operations/search_index_upsert.hxx +119 -0
- data/ext/couchbase/operations/user_drop.hxx +73 -0
- data/ext/couchbase/operations/user_get.hxx +81 -0
- data/ext/couchbase/operations/user_get_all.hxx +78 -0
- data/ext/couchbase/operations/user_upsert.hxx +132 -0
- data/ext/couchbase/operations/view_index_drop.hxx +68 -0
- data/ext/couchbase/operations/view_index_get.hxx +97 -0
- data/ext/couchbase/operations/view_index_get_all.hxx +132 -0
- data/ext/couchbase/operations/view_index_upsert.hxx +88 -0
- data/ext/couchbase/origin.hxx +179 -0
- data/ext/couchbase/platform/backtrace.c +189 -0
- data/ext/couchbase/platform/backtrace.h +54 -0
- data/ext/couchbase/platform/base64.cc +234 -0
- data/ext/couchbase/platform/base64.h +47 -0
- data/ext/couchbase/platform/random.cc +119 -0
- data/ext/couchbase/platform/random.h +39 -0
- data/ext/couchbase/platform/string_hex.cc +99 -0
- data/ext/couchbase/platform/string_hex.h +50 -0
- data/ext/couchbase/platform/terminate_handler.cc +130 -0
- data/ext/couchbase/platform/terminate_handler.h +36 -0
- data/ext/couchbase/platform/uuid.cc +96 -0
- data/ext/couchbase/platform/uuid.h +56 -0
- data/ext/couchbase/protocol/client_opcode.hxx +632 -0
- data/ext/couchbase/protocol/client_request.hxx +161 -0
- data/ext/couchbase/protocol/client_response.hxx +221 -0
- data/ext/couchbase/protocol/cmd_append.hxx +145 -0
- data/ext/couchbase/protocol/cmd_cluster_map_change_notification.hxx +79 -0
- data/ext/couchbase/protocol/cmd_decrement.hxx +187 -0
- data/ext/couchbase/protocol/cmd_exists.hxx +172 -0
- data/ext/couchbase/protocol/cmd_get.hxx +122 -0
- data/ext/couchbase/protocol/cmd_get_and_lock.hxx +142 -0
- data/ext/couchbase/protocol/cmd_get_and_touch.hxx +142 -0
- data/ext/couchbase/protocol/cmd_get_cluster_config.hxx +126 -0
- data/ext/couchbase/protocol/cmd_get_collection_id.hxx +117 -0
- data/ext/couchbase/protocol/cmd_get_collections_manifest.hxx +99 -0
- data/ext/couchbase/protocol/cmd_get_error_map.hxx +126 -0
- data/ext/couchbase/protocol/cmd_hello.hxx +157 -0
- data/ext/couchbase/protocol/cmd_increment.hxx +187 -0
- data/ext/couchbase/protocol/cmd_info.hxx +25 -0
- data/ext/couchbase/protocol/cmd_insert.hxx +172 -0
- data/ext/couchbase/protocol/cmd_lookup_in.hxx +227 -0
- data/ext/couchbase/protocol/cmd_mutate_in.hxx +406 -0
- data/ext/couchbase/protocol/cmd_noop.hxx +82 -0
- data/ext/couchbase/protocol/cmd_prepend.hxx +145 -0
- data/ext/couchbase/protocol/cmd_remove.hxx +134 -0
- data/ext/couchbase/protocol/cmd_replace.hxx +172 -0
- data/ext/couchbase/protocol/cmd_sasl_auth.hxx +106 -0
- data/ext/couchbase/protocol/cmd_sasl_list_mechs.hxx +100 -0
- data/ext/couchbase/protocol/cmd_sasl_step.hxx +104 -0
- data/ext/couchbase/protocol/cmd_select_bucket.hxx +85 -0
- data/ext/couchbase/protocol/cmd_touch.hxx +102 -0
- data/ext/couchbase/protocol/cmd_unlock.hxx +95 -0
- data/ext/couchbase/protocol/cmd_upsert.hxx +172 -0
- data/ext/couchbase/protocol/datatype.hxx +48 -0
- data/ext/couchbase/protocol/durability_level.hxx +83 -0
- data/ext/couchbase/protocol/enhanced_error_info.hxx +28 -0
- data/ext/couchbase/protocol/frame_info_id.hxx +187 -0
- data/ext/couchbase/protocol/hello_feature.hxx +264 -0
- data/ext/couchbase/protocol/magic.hxx +83 -0
- data/ext/couchbase/protocol/server_opcode.hxx +57 -0
- data/ext/couchbase/protocol/server_request.hxx +122 -0
- data/ext/couchbase/protocol/status.hxx +343 -0
- data/ext/couchbase/protocol/unsigned_leb128.h +195 -0
- data/ext/couchbase/service_type.hxx +60 -0
- data/ext/couchbase/timeout_defaults.hxx +41 -0
- data/ext/couchbase/utils/byteswap.hxx +33 -0
- data/ext/couchbase/utils/connection_string.hxx +379 -0
- data/ext/couchbase/utils/crc32.hxx +48 -0
- data/ext/couchbase/utils/url_codec.hxx +225 -0
- data/ext/couchbase/version.hxx +38 -0
- data/ext/extconf.rb +98 -0
- data/ext/test/CMakeLists.txt +5 -0
- data/ext/test/test_helper.hxx +141 -0
- data/ext/test/test_helper_native.hxx +56 -0
- data/ext/test/test_helper_ruby.hxx +72 -0
- data/ext/test/test_native_binary_operations.cxx +186 -0
- data/ext/test/test_native_diagnostics.cxx +436 -0
- data/ext/test/test_native_trivial_crud.cxx +83 -0
- data/ext/test/test_ruby_trivial_crud.cxx +35 -0
- data/ext/test/test_ruby_trivial_query.cxx +34 -0
- data/ext/third_party/asio/asio/include/asio.hpp +182 -0
- data/ext/third_party/asio/asio/include/asio/any_io_executor.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/associated_allocator.hpp +125 -0
- data/ext/third_party/asio/asio/include/asio/associated_executor.hpp +166 -0
- data/ext/third_party/asio/asio/include/asio/async_result.hpp +582 -0
- data/ext/third_party/asio/asio/include/asio/awaitable.hpp +133 -0
- data/ext/third_party/asio/asio/include/asio/basic_datagram_socket.hpp +1215 -0
- data/ext/third_party/asio/asio/include/asio/basic_deadline_timer.hpp +693 -0
- data/ext/third_party/asio/asio/include/asio/basic_io_object.hpp +290 -0
- data/ext/third_party/asio/asio/include/asio/basic_raw_socket.hpp +1206 -0
- data/ext/third_party/asio/asio/include/asio/basic_seq_packet_socket.hpp +761 -0
- data/ext/third_party/asio/asio/include/asio/basic_serial_port.hpp +907 -0
- data/ext/third_party/asio/asio/include/asio/basic_signal_set.hpp +568 -0
- data/ext/third_party/asio/asio/include/asio/basic_socket.hpp +1894 -0
- data/ext/third_party/asio/asio/include/asio/basic_socket_acceptor.hpp +2501 -0
- data/ext/third_party/asio/asio/include/asio/basic_socket_iostream.hpp +407 -0
- data/ext/third_party/asio/asio/include/asio/basic_socket_streambuf.hpp +687 -0
- data/ext/third_party/asio/asio/include/asio/basic_stream_socket.hpp +1053 -0
- data/ext/third_party/asio/asio/include/asio/basic_streambuf.hpp +452 -0
- data/ext/third_party/asio/asio/include/asio/basic_streambuf_fwd.hpp +36 -0
- data/ext/third_party/asio/asio/include/asio/basic_waitable_timer.hpp +811 -0
- data/ext/third_party/asio/asio/include/asio/bind_executor.hpp +575 -0
- data/ext/third_party/asio/asio/include/asio/buffer.hpp +2496 -0
- data/ext/third_party/asio/asio/include/asio/buffered_read_stream.hpp +253 -0
- data/ext/third_party/asio/asio/include/asio/buffered_read_stream_fwd.hpp +25 -0
- data/ext/third_party/asio/asio/include/asio/buffered_stream.hpp +279 -0
- data/ext/third_party/asio/asio/include/asio/buffered_stream_fwd.hpp +25 -0
- data/ext/third_party/asio/asio/include/asio/buffered_write_stream.hpp +245 -0
- data/ext/third_party/asio/asio/include/asio/buffered_write_stream_fwd.hpp +25 -0
- data/ext/third_party/asio/asio/include/asio/buffers_iterator.hpp +521 -0
- data/ext/third_party/asio/asio/include/asio/co_spawn.hpp +471 -0
- data/ext/third_party/asio/asio/include/asio/completion_condition.hpp +218 -0
- data/ext/third_party/asio/asio/include/asio/compose.hpp +136 -0
- data/ext/third_party/asio/asio/include/asio/connect.hpp +1076 -0
- data/ext/third_party/asio/asio/include/asio/coroutine.hpp +328 -0
- data/ext/third_party/asio/asio/include/asio/deadline_timer.hpp +38 -0
- data/ext/third_party/asio/asio/include/asio/defer.hpp +130 -0
- data/ext/third_party/asio/asio/include/asio/detached.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/detail/array.hpp +38 -0
- data/ext/third_party/asio/asio/include/asio/detail/array_fwd.hpp +34 -0
- data/ext/third_party/asio/asio/include/asio/detail/assert.hpp +32 -0
- data/ext/third_party/asio/asio/include/asio/detail/atomic_count.hpp +64 -0
- data/ext/third_party/asio/asio/include/asio/detail/base_from_completion_cond.hpp +69 -0
- data/ext/third_party/asio/asio/include/asio/detail/bind_handler.hpp +934 -0
- data/ext/third_party/asio/asio/include/asio/detail/blocking_executor_op.hpp +107 -0
- data/ext/third_party/asio/asio/include/asio/detail/buffer_resize_guard.hpp +66 -0
- data/ext/third_party/asio/asio/include/asio/detail/buffer_sequence_adapter.hpp +650 -0
- data/ext/third_party/asio/asio/include/asio/detail/buffered_stream_storage.hpp +126 -0
- data/ext/third_party/asio/asio/include/asio/detail/bulk_executor_op.hpp +88 -0
- data/ext/third_party/asio/asio/include/asio/detail/call_stack.hpp +125 -0
- data/ext/third_party/asio/asio/include/asio/detail/chrono.hpp +66 -0
- data/ext/third_party/asio/asio/include/asio/detail/chrono_time_traits.hpp +190 -0
- data/ext/third_party/asio/asio/include/asio/detail/completion_handler.hpp +88 -0
- data/ext/third_party/asio/asio/include/asio/detail/concurrency_hint.hpp +94 -0
- data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_event.hpp +120 -0
- data/ext/third_party/asio/asio/include/asio/detail/conditionally_enabled_mutex.hpp +149 -0
- data/ext/third_party/asio/asio/include/asio/detail/config.hpp +1822 -0
- data/ext/third_party/asio/asio/include/asio/detail/consuming_buffers.hpp +414 -0
- data/ext/third_party/asio/asio/include/asio/detail/cstddef.hpp +31 -0
- data/ext/third_party/asio/asio/include/asio/detail/cstdint.hpp +60 -0
- data/ext/third_party/asio/asio/include/asio/detail/date_time_fwd.hpp +34 -0
- data/ext/third_party/asio/asio/include/asio/detail/deadline_timer_service.hpp +295 -0
- data/ext/third_party/asio/asio/include/asio/detail/dependent_type.hpp +36 -0
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_ops.hpp +139 -0
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_read_op.hpp +148 -0
- data/ext/third_party/asio/asio/include/asio/detail/descriptor_write_op.hpp +148 -0
- data/ext/third_party/asio/asio/include/asio/detail/dev_poll_reactor.hpp +218 -0
- data/ext/third_party/asio/asio/include/asio/detail/epoll_reactor.hpp +266 -0
- data/ext/third_party/asio/asio/include/asio/detail/event.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/detail/eventfd_select_interrupter.hpp +83 -0
- data/ext/third_party/asio/asio/include/asio/detail/executor_function.hpp +203 -0
- data/ext/third_party/asio/asio/include/asio/detail/executor_op.hpp +84 -0
- data/ext/third_party/asio/asio/include/asio/detail/fd_set_adapter.hpp +39 -0
- data/ext/third_party/asio/asio/include/asio/detail/fenced_block.hpp +80 -0
- data/ext/third_party/asio/asio/include/asio/detail/functional.hpp +38 -0
- data/ext/third_party/asio/asio/include/asio/detail/future.hpp +33 -0
- data/ext/third_party/asio/asio/include/asio/detail/gcc_arm_fenced_block.hpp +91 -0
- data/ext/third_party/asio/asio/include/asio/detail/gcc_hppa_fenced_block.hpp +68 -0
- data/ext/third_party/asio/asio/include/asio/detail/gcc_sync_fenced_block.hpp +65 -0
- data/ext/third_party/asio/asio/include/asio/detail/gcc_x86_fenced_block.hpp +99 -0
- data/ext/third_party/asio/asio/include/asio/detail/global.hpp +52 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_alloc_helpers.hpp +284 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_cont_helpers.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_invoke_helpers.hpp +80 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_tracking.hpp +264 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_type_requirements.hpp +556 -0
- data/ext/third_party/asio/asio/include/asio/detail/handler_work.hpp +438 -0
- data/ext/third_party/asio/asio/include/asio/detail/hash_map.hpp +331 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/buffer_sequence_adapter.ipp +118 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/descriptor_ops.ipp +608 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.hpp +91 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/dev_poll_reactor.ipp +446 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.hpp +89 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/epoll_reactor.ipp +787 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/eventfd_select_interrupter.ipp +169 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/handler_tracking.ipp +396 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.hpp +93 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/kqueue_reactor.ipp +570 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/null_event.ipp +74 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/pipe_select_interrupter.ipp +129 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/posix_event.ipp +59 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/posix_mutex.ipp +46 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/posix_thread.ipp +84 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/posix_tss_ptr.ipp +46 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_descriptor_service.ipp +223 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_serial_port_service.ipp +149 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/reactive_socket_service_base.ipp +300 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/resolver_service_base.ipp +158 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/scheduler.ipp +654 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.hpp +100 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/select_reactor.ipp +338 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.hpp +94 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/service_registry.ipp +197 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/signal_set_service.ipp +668 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/socket_ops.ipp +3962 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/socket_select_interrupter.ipp +185 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.hpp +385 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_executor_service.ipp +134 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.hpp +117 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/strand_service.ipp +178 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/throw_error.ipp +60 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_ptime.ipp +91 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/timer_queue_set.ipp +101 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_event.ipp +76 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_handle_service.ipp +525 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.hpp +103 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_io_context.ipp +603 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_serial_port_service.ipp +192 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_iocp_socket_service_base.ipp +801 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_mutex.ipp +84 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_object_handle_service.ipp +448 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_static_mutex.ipp +136 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_thread.ipp +150 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/win_tss_ptr.ipp +57 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_ssocket_service_base.ipp +626 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.hpp +92 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/winrt_timer_scheduler.ipp +121 -0
- data/ext/third_party/asio/asio/include/asio/detail/impl/winsock_init.ipp +82 -0
- data/ext/third_party/asio/asio/include/asio/detail/io_control.hpp +84 -0
- data/ext/third_party/asio/asio/include/asio/detail/io_object_impl.hpp +175 -0
- data/ext/third_party/asio/asio/include/asio/detail/is_buffer_sequence.hpp +312 -0
- data/ext/third_party/asio/asio/include/asio/detail/is_executor.hpp +126 -0
- data/ext/third_party/asio/asio/include/asio/detail/keyword_tss_ptr.hpp +70 -0
- data/ext/third_party/asio/asio/include/asio/detail/kqueue_reactor.hpp +242 -0
- data/ext/third_party/asio/asio/include/asio/detail/limits.hpp +26 -0
- data/ext/third_party/asio/asio/include/asio/detail/local_free_on_block_exit.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/detail/macos_fenced_block.hpp +62 -0
- data/ext/third_party/asio/asio/include/asio/detail/memory.hpp +73 -0
- data/ext/third_party/asio/asio/include/asio/detail/mutex.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/detail/non_const_lvalue.hpp +54 -0
- data/ext/third_party/asio/asio/include/asio/detail/noncopyable.hpp +43 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_event.hpp +106 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_fenced_block.hpp +47 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_global.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_mutex.hpp +64 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_reactor.hpp +68 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_signal_blocker.hpp +69 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_socket_service.hpp +519 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_static_mutex.hpp +60 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_thread.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/detail/null_tss_ptr.hpp +68 -0
- data/ext/third_party/asio/asio/include/asio/detail/object_pool.hpp +171 -0
- data/ext/third_party/asio/asio/include/asio/detail/old_win_sdk_compat.hpp +214 -0
- data/ext/third_party/asio/asio/include/asio/detail/op_queue.hpp +162 -0
- data/ext/third_party/asio/asio/include/asio/detail/operation.hpp +38 -0
- data/ext/third_party/asio/asio/include/asio/detail/pipe_select_interrupter.hpp +89 -0
- data/ext/third_party/asio/asio/include/asio/detail/pop_options.hpp +141 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_event.hpp +175 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_fd_set_adapter.hpp +118 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_global.hpp +80 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_mutex.hpp +76 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_signal_blocker.hpp +85 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_static_mutex.hpp +64 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_thread.hpp +109 -0
- data/ext/third_party/asio/asio/include/asio/detail/posix_tss_ptr.hpp +79 -0
- data/ext/third_party/asio/asio/include/asio/detail/push_options.hpp +185 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_descriptor_service.hpp +416 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_null_buffers_op.hpp +98 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_serial_port_service.hpp +237 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_accept_op.hpp +242 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_connect_op.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recv_op.hpp +159 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvfrom_op.hpp +164 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_recvmsg_op.hpp +145 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_send_op.hpp +162 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_sendto_op.hpp +156 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service.hpp +528 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_socket_service_base.hpp +541 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactive_wait_op.hpp +98 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactor.hpp +32 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactor_fwd.hpp +40 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactor_op.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/detail/reactor_op_queue.hpp +168 -0
- data/ext/third_party/asio/asio/include/asio/detail/recycling_allocator.hpp +106 -0
- data/ext/third_party/asio/asio/include/asio/detail/regex_fwd.hpp +35 -0
- data/ext/third_party/asio/asio/include/asio/detail/resolve_endpoint_op.hpp +140 -0
- data/ext/third_party/asio/asio/include/asio/detail/resolve_op.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/detail/resolve_query_op.hpp +150 -0
- data/ext/third_party/asio/asio/include/asio/detail/resolver_service.hpp +145 -0
- data/ext/third_party/asio/asio/include/asio/detail/resolver_service_base.hpp +143 -0
- data/ext/third_party/asio/asio/include/asio/detail/scheduler.hpp +232 -0
- data/ext/third_party/asio/asio/include/asio/detail/scheduler_operation.hpp +78 -0
- data/ext/third_party/asio/asio/include/asio/detail/scheduler_thread_info.hpp +40 -0
- data/ext/third_party/asio/asio/include/asio/detail/scoped_lock.hpp +101 -0
- data/ext/third_party/asio/asio/include/asio/detail/scoped_ptr.hpp +87 -0
- data/ext/third_party/asio/asio/include/asio/detail/select_interrupter.hpp +46 -0
- data/ext/third_party/asio/asio/include/asio/detail/select_reactor.hpp +238 -0
- data/ext/third_party/asio/asio/include/asio/detail/service_registry.hpp +164 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_blocker.hpp +44 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_handler.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_init.hpp +47 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_op.hpp +49 -0
- data/ext/third_party/asio/asio/include/asio/detail/signal_set_service.hpp +229 -0
- data/ext/third_party/asio/asio/include/asio/detail/socket_holder.hpp +98 -0
- data/ext/third_party/asio/asio/include/asio/detail/socket_ops.hpp +383 -0
- data/ext/third_party/asio/asio/include/asio/detail/socket_option.hpp +316 -0
- data/ext/third_party/asio/asio/include/asio/detail/socket_select_interrupter.hpp +91 -0
- data/ext/third_party/asio/asio/include/asio/detail/socket_types.hpp +416 -0
- data/ext/third_party/asio/asio/include/asio/detail/solaris_fenced_block.hpp +62 -0
- data/ext/third_party/asio/asio/include/asio/detail/source_location.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/detail/static_mutex.hpp +52 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_event.hpp +188 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_fenced_block.hpp +62 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_global.hpp +70 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_mutex.hpp +73 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_static_mutex.hpp +81 -0
- data/ext/third_party/asio/asio/include/asio/detail/std_thread.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/detail/strand_executor_service.hpp +166 -0
- data/ext/third_party/asio/asio/include/asio/detail/strand_service.hpp +145 -0
- data/ext/third_party/asio/asio/include/asio/detail/string_view.hpp +47 -0
- data/ext/third_party/asio/asio/include/asio/detail/thread.hpp +60 -0
- data/ext/third_party/asio/asio/include/asio/detail/thread_context.hpp +42 -0
- data/ext/third_party/asio/asio/include/asio/detail/thread_group.hpp +95 -0
- data/ext/third_party/asio/asio/include/asio/detail/thread_info_base.hpp +183 -0
- data/ext/third_party/asio/asio/include/asio/detail/throw_error.hpp +53 -0
- data/ext/third_party/asio/asio/include/asio/detail/throw_exception.hpp +51 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_queue.hpp +360 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_queue_base.hpp +68 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_queue_ptime.hpp +99 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_queue_set.hpp +66 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler.hpp +35 -0
- data/ext/third_party/asio/asio/include/asio/detail/timer_scheduler_fwd.hpp +40 -0
- data/ext/third_party/asio/asio/include/asio/detail/tss_ptr.hpp +69 -0
- data/ext/third_party/asio/asio/include/asio/detail/type_traits.hpp +148 -0
- data/ext/third_party/asio/asio/include/asio/detail/variadic_templates.hpp +294 -0
- data/ext/third_party/asio/asio/include/asio/detail/wait_handler.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/detail/wait_op.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_event.hpp +164 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_fd_set_adapter.hpp +149 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_fenced_block.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_global.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_read_op.hpp +117 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_service.hpp +335 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_handle_write_op.hpp +110 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_io_context.hpp +342 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_null_buffers_op.hpp +127 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_operation.hpp +96 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_op.hpp +96 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_overlapped_ptr.hpp +171 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_serial_port_service.hpp +232 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_accept_op.hpp +312 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_connect_op.hpp +135 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recv_op.hpp +124 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvfrom_op.hpp +133 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_recvmsg_op.hpp +125 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_send_op.hpp +118 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service.hpp +581 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_socket_service_base.hpp +600 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_thread_info.hpp +34 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_iocp_wait_op.hpp +128 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_mutex.hpp +78 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_object_handle_service.hpp +195 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_static_mutex.hpp +74 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_thread.hpp +147 -0
- data/ext/third_party/asio/asio/include/asio/detail/win_tss_ptr.hpp +79 -0
- data/ext/third_party/asio/asio/include/asio/detail/winapp_thread.hpp +124 -0
- data/ext/third_party/asio/asio/include/asio/detail/wince_thread.hpp +124 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_async_manager.hpp +305 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_async_op.hpp +65 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_resolve_op.hpp +125 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_resolver_service.hpp +212 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_connect_op.hpp +98 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_recv_op.hpp +119 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_socket_send_op.hpp +110 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service.hpp +250 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_ssocket_service_base.hpp +362 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_timer_scheduler.hpp +147 -0
- data/ext/third_party/asio/asio/include/asio/detail/winrt_utils.hpp +106 -0
- data/ext/third_party/asio/asio/include/asio/detail/winsock_init.hpp +128 -0
- data/ext/third_party/asio/asio/include/asio/detail/work_dispatcher.hpp +148 -0
- data/ext/third_party/asio/asio/include/asio/detail/wrapped_handler.hpp +327 -0
- data/ext/third_party/asio/asio/include/asio/dispatch.hpp +121 -0
- data/ext/third_party/asio/asio/include/asio/error.hpp +356 -0
- data/ext/third_party/asio/asio/include/asio/error_code.hpp +202 -0
- data/ext/third_party/asio/asio/include/asio/execution.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/execution/allocator.hpp +249 -0
- data/ext/third_party/asio/asio/include/asio/execution/any_executor.hpp +2264 -0
- data/ext/third_party/asio/asio/include/asio/execution/bad_executor.hpp +47 -0
- data/ext/third_party/asio/asio/include/asio/execution/blocking.hpp +1351 -0
- data/ext/third_party/asio/asio/include/asio/execution/blocking_adaptation.hpp +1064 -0
- data/ext/third_party/asio/asio/include/asio/execution/bulk_execute.hpp +390 -0
- data/ext/third_party/asio/asio/include/asio/execution/bulk_guarantee.hpp +1018 -0
- data/ext/third_party/asio/asio/include/asio/execution/connect.hpp +486 -0
- data/ext/third_party/asio/asio/include/asio/execution/context.hpp +185 -0
- data/ext/third_party/asio/asio/include/asio/execution/context_as.hpp +201 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_invocable.hpp +152 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_operation.hpp +105 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/as_receiver.hpp +128 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/bulk_sender.hpp +261 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/submit_receiver.hpp +233 -0
- data/ext/third_party/asio/asio/include/asio/execution/detail/void_receiver.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/execution/execute.hpp +264 -0
- data/ext/third_party/asio/asio/include/asio/execution/executor.hpp +238 -0
- data/ext/third_party/asio/asio/include/asio/execution/impl/bad_executor.ipp +40 -0
- data/ext/third_party/asio/asio/include/asio/execution/impl/receiver_invocation_error.ipp +36 -0
- data/ext/third_party/asio/asio/include/asio/execution/invocable_archetype.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/execution/mapping.hpp +917 -0
- data/ext/third_party/asio/asio/include/asio/execution/occupancy.hpp +178 -0
- data/ext/third_party/asio/asio/include/asio/execution/operation_state.hpp +94 -0
- data/ext/third_party/asio/asio/include/asio/execution/outstanding_work.hpp +721 -0
- data/ext/third_party/asio/asio/include/asio/execution/prefer_only.hpp +327 -0
- data/ext/third_party/asio/asio/include/asio/execution/receiver.hpp +280 -0
- data/ext/third_party/asio/asio/include/asio/execution/receiver_invocation_error.hpp +48 -0
- data/ext/third_party/asio/asio/include/asio/execution/relationship.hpp +720 -0
- data/ext/third_party/asio/asio/include/asio/execution/schedule.hpp +290 -0
- data/ext/third_party/asio/asio/include/asio/execution/scheduler.hpp +86 -0
- data/ext/third_party/asio/asio/include/asio/execution/sender.hpp +311 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_done.hpp +253 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_error.hpp +253 -0
- data/ext/third_party/asio/asio/include/asio/execution/set_value.hpp +486 -0
- data/ext/third_party/asio/asio/include/asio/execution/start.hpp +250 -0
- data/ext/third_party/asio/asio/include/asio/execution/submit.hpp +450 -0
- data/ext/third_party/asio/asio/include/asio/execution_context.hpp +412 -0
- data/ext/third_party/asio/asio/include/asio/executor.hpp +347 -0
- data/ext/third_party/asio/asio/include/asio/executor_work_guard.hpp +287 -0
- data/ext/third_party/asio/asio/include/asio/generic/basic_endpoint.hpp +193 -0
- data/ext/third_party/asio/asio/include/asio/generic/datagram_protocol.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/generic/detail/endpoint.hpp +133 -0
- data/ext/third_party/asio/asio/include/asio/generic/detail/impl/endpoint.ipp +110 -0
- data/ext/third_party/asio/asio/include/asio/generic/raw_protocol.hpp +121 -0
- data/ext/third_party/asio/asio/include/asio/generic/seq_packet_protocol.hpp +122 -0
- data/ext/third_party/asio/asio/include/asio/generic/stream_protocol.hpp +127 -0
- data/ext/third_party/asio/asio/include/asio/handler_alloc_hook.hpp +104 -0
- data/ext/third_party/asio/asio/include/asio/handler_continuation_hook.hpp +54 -0
- data/ext/third_party/asio/asio/include/asio/handler_invoke_hook.hpp +111 -0
- data/ext/third_party/asio/asio/include/asio/high_resolution_timer.hpp +44 -0
- data/ext/third_party/asio/asio/include/asio/impl/awaitable.hpp +436 -0
- data/ext/third_party/asio/asio/include/asio/impl/buffered_read_stream.hpp +527 -0
- data/ext/third_party/asio/asio/include/asio/impl/buffered_write_stream.hpp +507 -0
- data/ext/third_party/asio/asio/include/asio/impl/co_spawn.hpp +298 -0
- data/ext/third_party/asio/asio/include/asio/impl/compose.hpp +635 -0
- data/ext/third_party/asio/asio/include/asio/impl/connect.hpp +916 -0
- data/ext/third_party/asio/asio/include/asio/impl/defer.hpp +248 -0
- data/ext/third_party/asio/asio/include/asio/impl/detached.hpp +130 -0
- data/ext/third_party/asio/asio/include/asio/impl/dispatch.hpp +243 -0
- data/ext/third_party/asio/asio/include/asio/impl/error.ipp +128 -0
- data/ext/third_party/asio/asio/include/asio/impl/error_code.ipp +206 -0
- data/ext/third_party/asio/asio/include/asio/impl/execution_context.hpp +109 -0
- data/ext/third_party/asio/asio/include/asio/impl/execution_context.ipp +82 -0
- data/ext/third_party/asio/asio/include/asio/impl/executor.hpp +301 -0
- data/ext/third_party/asio/asio/include/asio/impl/executor.ipp +43 -0
- data/ext/third_party/asio/asio/include/asio/impl/handler_alloc_hook.ipp +61 -0
- data/ext/third_party/asio/asio/include/asio/impl/io_context.hpp +440 -0
- data/ext/third_party/asio/asio/include/asio/impl/io_context.ipp +175 -0
- data/ext/third_party/asio/asio/include/asio/impl/multiple_exceptions.ipp +49 -0
- data/ext/third_party/asio/asio/include/asio/impl/post.hpp +248 -0
- data/ext/third_party/asio/asio/include/asio/impl/read.hpp +1202 -0
- data/ext/third_party/asio/asio/include/asio/impl/read_at.hpp +744 -0
- data/ext/third_party/asio/asio/include/asio/impl/read_until.hpp +3335 -0
- data/ext/third_party/asio/asio/include/asio/impl/redirect_error.hpp +390 -0
- data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/impl/serial_port_base.ipp +554 -0
- data/ext/third_party/asio/asio/include/asio/impl/spawn.hpp +526 -0
- data/ext/third_party/asio/asio/include/asio/impl/src.hpp +85 -0
- data/ext/third_party/asio/asio/include/asio/impl/system_context.hpp +34 -0
- data/ext/third_party/asio/asio/include/asio/impl/system_context.ipp +92 -0
- data/ext/third_party/asio/asio/include/asio/impl/system_executor.hpp +186 -0
- data/ext/third_party/asio/asio/include/asio/impl/thread_pool.hpp +350 -0
- data/ext/third_party/asio/asio/include/asio/impl/thread_pool.ipp +141 -0
- data/ext/third_party/asio/asio/include/asio/impl/use_awaitable.hpp +279 -0
- data/ext/third_party/asio/asio/include/asio/impl/use_future.hpp +1028 -0
- data/ext/third_party/asio/asio/include/asio/impl/write.hpp +1104 -0
- data/ext/third_party/asio/asio/include/asio/impl/write_at.hpp +666 -0
- data/ext/third_party/asio/asio/include/asio/io_context.hpp +1530 -0
- data/ext/third_party/asio/asio/include/asio/io_context_strand.hpp +376 -0
- data/ext/third_party/asio/asio/include/asio/io_service.hpp +33 -0
- data/ext/third_party/asio/asio/include/asio/io_service_strand.hpp +20 -0
- data/ext/third_party/asio/asio/include/asio/ip/address.hpp +268 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v4.hpp +335 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v4_iterator.hpp +162 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v4_range.hpp +134 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v6.hpp +341 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v6_iterator.hpp +183 -0
- data/ext/third_party/asio/asio/include/asio/ip/address_v6_range.hpp +129 -0
- data/ext/third_party/asio/asio/include/asio/ip/bad_address_cast.hpp +53 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_endpoint.hpp +264 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver.hpp +1030 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_entry.hpp +113 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_iterator.hpp +192 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_query.hpp +244 -0
- data/ext/third_party/asio/asio/include/asio/ip/basic_resolver_results.hpp +311 -0
- data/ext/third_party/asio/asio/include/asio/ip/detail/endpoint.hpp +141 -0
- data/ext/third_party/asio/asio/include/asio/ip/detail/impl/endpoint.ipp +199 -0
- data/ext/third_party/asio/asio/include/asio/ip/detail/socket_option.hpp +566 -0
- data/ext/third_party/asio/asio/include/asio/ip/host_name.hpp +42 -0
- data/ext/third_party/asio/asio/include/asio/ip/icmp.hpp +115 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address.ipp +239 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address_v4.ipp +210 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/address_v6.ipp +350 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/basic_endpoint.hpp +43 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/host_name.ipp +54 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.hpp +54 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/network_v4.ipp +216 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.hpp +53 -0
- data/ext/third_party/asio/asio/include/asio/ip/impl/network_v6.ipp +185 -0
- data/ext/third_party/asio/asio/include/asio/ip/multicast.hpp +191 -0
- data/ext/third_party/asio/asio/include/asio/ip/network_v4.hpp +261 -0
- data/ext/third_party/asio/asio/include/asio/ip/network_v6.hpp +235 -0
- data/ext/third_party/asio/asio/include/asio/ip/resolver_base.hpp +129 -0
- data/ext/third_party/asio/asio/include/asio/ip/resolver_query_base.hpp +43 -0
- data/ext/third_party/asio/asio/include/asio/ip/tcp.hpp +155 -0
- data/ext/third_party/asio/asio/include/asio/ip/udp.hpp +111 -0
- data/ext/third_party/asio/asio/include/asio/ip/unicast.hpp +70 -0
- data/ext/third_party/asio/asio/include/asio/ip/v6_only.hpp +69 -0
- data/ext/third_party/asio/asio/include/asio/is_applicable_property.hpp +61 -0
- data/ext/third_party/asio/asio/include/asio/is_executor.hpp +46 -0
- data/ext/third_party/asio/asio/include/asio/is_read_buffered.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/is_write_buffered.hpp +59 -0
- data/ext/third_party/asio/asio/include/asio/local/basic_endpoint.hpp +247 -0
- data/ext/third_party/asio/asio/include/asio/local/connect_pair.hpp +101 -0
- data/ext/third_party/asio/asio/include/asio/local/datagram_protocol.hpp +80 -0
- data/ext/third_party/asio/asio/include/asio/local/detail/endpoint.hpp +139 -0
- data/ext/third_party/asio/asio/include/asio/local/detail/impl/endpoint.ipp +136 -0
- data/ext/third_party/asio/asio/include/asio/local/stream_protocol.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/multiple_exceptions.hpp +58 -0
- data/ext/third_party/asio/asio/include/asio/packaged_task.hpp +126 -0
- data/ext/third_party/asio/asio/include/asio/placeholders.hpp +151 -0
- data/ext/third_party/asio/asio/include/asio/posix/basic_descriptor.hpp +697 -0
- data/ext/third_party/asio/asio/include/asio/posix/basic_stream_descriptor.hpp +470 -0
- data/ext/third_party/asio/asio/include/asio/posix/descriptor.hpp +37 -0
- data/ext/third_party/asio/asio/include/asio/posix/descriptor_base.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/posix/stream_descriptor.hpp +37 -0
- data/ext/third_party/asio/asio/include/asio/post.hpp +126 -0
- data/ext/third_party/asio/asio/include/asio/prefer.hpp +656 -0
- data/ext/third_party/asio/asio/include/asio/query.hpp +296 -0
- data/ext/third_party/asio/asio/include/asio/read.hpp +1288 -0
- data/ext/third_party/asio/asio/include/asio/read_at.hpp +694 -0
- data/ext/third_party/asio/asio/include/asio/read_until.hpp +2863 -0
- data/ext/third_party/asio/asio/include/asio/redirect_error.hpp +66 -0
- data/ext/third_party/asio/asio/include/asio/require.hpp +524 -0
- data/ext/third_party/asio/asio/include/asio/require_concept.hpp +310 -0
- data/ext/third_party/asio/asio/include/asio/serial_port.hpp +36 -0
- data/ext/third_party/asio/asio/include/asio/serial_port_base.hpp +167 -0
- data/ext/third_party/asio/asio/include/asio/signal_set.hpp +28 -0
- data/ext/third_party/asio/asio/include/asio/socket_base.hpp +559 -0
- data/ext/third_party/asio/asio/include/asio/spawn.hpp +344 -0
- data/ext/third_party/asio/asio/include/asio/ssl.hpp +28 -0
- data/ext/third_party/asio/asio/include/asio/ssl/context.hpp +761 -0
- data/ext/third_party/asio/asio/include/asio/ssl/context_base.hpp +209 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/buffered_handshake_op.hpp +119 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/engine.hpp +165 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/handshake_op.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/engine.ipp +349 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/impl/openssl_init.ipp +165 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/io.hpp +415 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_init.hpp +101 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/openssl_types.hpp +34 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/password_callback.hpp +66 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/read_op.hpp +72 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/shutdown_op.hpp +69 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/stream_core.hpp +169 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/verify_callback.hpp +62 -0
- data/ext/third_party/asio/asio/include/asio/ssl/detail/write_op.hpp +76 -0
- data/ext/third_party/asio/asio/include/asio/ssl/error.hpp +125 -0
- data/ext/third_party/asio/asio/include/asio/ssl/host_name_verification.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/context.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/context.ipp +1238 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/error.ipp +102 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/host_name_verification.ipp +73 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/rfc2818_verification.ipp +164 -0
- data/ext/third_party/asio/asio/include/asio/ssl/impl/src.hpp +29 -0
- data/ext/third_party/asio/asio/include/asio/ssl/rfc2818_verification.hpp +98 -0
- data/ext/third_party/asio/asio/include/asio/ssl/stream.hpp +900 -0
- data/ext/third_party/asio/asio/include/asio/ssl/stream_base.hpp +52 -0
- data/ext/third_party/asio/asio/include/asio/ssl/verify_context.hpp +67 -0
- data/ext/third_party/asio/asio/include/asio/ssl/verify_mode.hpp +63 -0
- data/ext/third_party/asio/asio/include/asio/static_thread_pool.hpp +31 -0
- data/ext/third_party/asio/asio/include/asio/steady_timer.hpp +42 -0
- data/ext/third_party/asio/asio/include/asio/strand.hpp +537 -0
- data/ext/third_party/asio/asio/include/asio/streambuf.hpp +33 -0
- data/ext/third_party/asio/asio/include/asio/system_context.hpp +90 -0
- data/ext/third_party/asio/asio/include/asio/system_error.hpp +131 -0
- data/ext/third_party/asio/asio/include/asio/system_executor.hpp +662 -0
- data/ext/third_party/asio/asio/include/asio/system_timer.hpp +42 -0
- data/ext/third_party/asio/asio/include/asio/this_coro.hpp +45 -0
- data/ext/third_party/asio/asio/include/asio/thread.hpp +92 -0
- data/ext/third_party/asio/asio/include/asio/thread_pool.hpp +1111 -0
- data/ext/third_party/asio/asio/include/asio/time_traits.hpp +86 -0
- data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_free.hpp +114 -0
- data/ext/third_party/asio/asio/include/asio/traits/bulk_execute_member.hpp +114 -0
- data/ext/third_party/asio/asio/include/asio/traits/connect_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/connect_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/equality_comparable.hpp +100 -0
- data/ext/third_party/asio/asio/include/asio/traits/execute_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/execute_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/prefer_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/prefer_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/query_static_constexpr_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_concept_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_concept_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/require_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/schedule_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/schedule_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_done_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_done_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_error_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_error_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_value_free.hpp +234 -0
- data/ext/third_party/asio/asio/include/asio/traits/set_value_member.hpp +234 -0
- data/ext/third_party/asio/asio/include/asio/traits/start_free.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/start_member.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_query.hpp +108 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_require.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/traits/static_require_concept.hpp +123 -0
- data/ext/third_party/asio/asio/include/asio/traits/submit_free.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/traits/submit_member.hpp +112 -0
- data/ext/third_party/asio/asio/include/asio/ts/buffer.hpp +24 -0
- data/ext/third_party/asio/asio/include/asio/ts/executor.hpp +35 -0
- data/ext/third_party/asio/asio/include/asio/ts/internet.hpp +40 -0
- data/ext/third_party/asio/asio/include/asio/ts/io_context.hpp +20 -0
- data/ext/third_party/asio/asio/include/asio/ts/net.hpp +26 -0
- data/ext/third_party/asio/asio/include/asio/ts/netfwd.hpp +262 -0
- data/ext/third_party/asio/asio/include/asio/ts/socket.hpp +27 -0
- data/ext/third_party/asio/asio/include/asio/ts/timer.hpp +26 -0
- data/ext/third_party/asio/asio/include/asio/unyield.hpp +21 -0
- data/ext/third_party/asio/asio/include/asio/use_awaitable.hpp +169 -0
- data/ext/third_party/asio/asio/include/asio/use_future.hpp +160 -0
- data/ext/third_party/asio/asio/include/asio/uses_executor.hpp +71 -0
- data/ext/third_party/asio/asio/include/asio/version.hpp +23 -0
- data/ext/third_party/asio/asio/include/asio/wait_traits.hpp +56 -0
- data/ext/third_party/asio/asio/include/asio/windows/basic_object_handle.hpp +435 -0
- data/ext/third_party/asio/asio/include/asio/windows/basic_overlapped_handle.hpp +361 -0
- data/ext/third_party/asio/asio/include/asio/windows/basic_random_access_handle.hpp +490 -0
- data/ext/third_party/asio/asio/include/asio/windows/basic_stream_handle.hpp +474 -0
- data/ext/third_party/asio/asio/include/asio/windows/object_handle.hpp +38 -0
- data/ext/third_party/asio/asio/include/asio/windows/overlapped_handle.hpp +39 -0
- data/ext/third_party/asio/asio/include/asio/windows/overlapped_ptr.hpp +145 -0
- data/ext/third_party/asio/asio/include/asio/windows/random_access_handle.hpp +37 -0
- data/ext/third_party/asio/asio/include/asio/windows/stream_handle.hpp +37 -0
- data/ext/third_party/asio/asio/include/asio/write.hpp +1246 -0
- data/ext/third_party/asio/asio/include/asio/write_at.hpp +702 -0
- data/ext/third_party/asio/asio/include/asio/yield.hpp +23 -0
- data/ext/third_party/gsl/CMakeLists.txt +127 -0
- data/ext/third_party/gsl/LICENSE +21 -0
- data/ext/third_party/gsl/ThirdPartyNotices.txt +41 -0
- data/ext/third_party/gsl/include/gsl/gsl +29 -0
- data/ext/third_party/gsl/include/gsl/gsl_algorithm +61 -0
- data/ext/third_party/gsl/include/gsl/gsl_assert +133 -0
- data/ext/third_party/gsl/include/gsl/gsl_byte +209 -0
- data/ext/third_party/gsl/include/gsl/gsl_narrow +52 -0
- data/ext/third_party/gsl/include/gsl/gsl_util +129 -0
- data/ext/third_party/gsl/include/gsl/multi_span +2263 -0
- data/ext/third_party/gsl/include/gsl/pointers +287 -0
- data/ext/third_party/gsl/include/gsl/span +816 -0
- data/ext/third_party/gsl/include/gsl/span_ext +198 -0
- data/ext/third_party/gsl/include/gsl/string_span +706 -0
- data/ext/third_party/http_parser/LICENSE-MIT +19 -0
- data/ext/third_party/http_parser/http_parser.c +2575 -0
- data/ext/third_party/http_parser/http_parser.h +449 -0
- data/ext/third_party/json/CMakeLists.txt +44 -0
- data/ext/third_party/json/LICENSE +21 -0
- data/ext/third_party/json/LICENSE.double-conversion +32 -0
- data/ext/third_party/json/LICENSE.itoa +19 -0
- data/ext/third_party/json/LICENSE.ryu +201 -0
- data/ext/third_party/json/include/tao/json.hpp +45 -0
- data/ext/third_party/json/include/tao/json/basic_value.hpp +942 -0
- data/ext/third_party/json/include/tao/json/binary.hpp +103 -0
- data/ext/third_party/json/include/tao/json/binary_view.hpp +31 -0
- data/ext/third_party/json/include/tao/json/binding.hpp +71 -0
- data/ext/third_party/json/include/tao/json/binding/constant.hpp +232 -0
- data/ext/third_party/json/include/tao/json/binding/element.hpp +182 -0
- data/ext/third_party/json/include/tao/json/binding/factory.hpp +251 -0
- data/ext/third_party/json/include/tao/json/binding/for_nothing_value.hpp +17 -0
- data/ext/third_party/json/include/tao/json/binding/for_unknown_key.hpp +17 -0
- data/ext/third_party/json/include/tao/json/binding/inherit.hpp +14 -0
- data/ext/third_party/json/include/tao/json/binding/internal/array.hpp +104 -0
- data/ext/third_party/json/include/tao/json/binding/internal/inherit.hpp +45 -0
- data/ext/third_party/json/include/tao/json/binding/internal/object.hpp +268 -0
- data/ext/third_party/json/include/tao/json/binding/internal/type_key.hpp +54 -0
- data/ext/third_party/json/include/tao/json/binding/member.hpp +32 -0
- data/ext/third_party/json/include/tao/json/binding/member_kind.hpp +17 -0
- data/ext/third_party/json/include/tao/json/binding/versions.hpp +129 -0
- data/ext/third_party/json/include/tao/json/cbor.hpp +19 -0
- data/ext/third_party/json/include/tao/json/cbor/consume_file.hpp +34 -0
- data/ext/third_party/json/include/tao/json/cbor/consume_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/cbor/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/cbor/events/from_file.hpp +27 -0
- data/ext/third_party/json/include/tao/json/cbor/events/from_input.hpp +43 -0
- data/ext/third_party/json/include/tao/json/cbor/events/from_string.hpp +37 -0
- data/ext/third_party/json/include/tao/json/cbor/events/to_stream.hpp +161 -0
- data/ext/third_party/json/include/tao/json/cbor/events/to_string.hpp +31 -0
- data/ext/third_party/json/include/tao/json/cbor/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/cbor/from_file.hpp +33 -0
- data/ext/third_party/json/include/tao/json/cbor/from_input.hpp +33 -0
- data/ext/third_party/json/include/tao/json/cbor/from_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/cbor/internal/grammar.hpp +418 -0
- data/ext/third_party/json/include/tao/json/cbor/internal/major.hpp +28 -0
- data/ext/third_party/json/include/tao/json/cbor/parts_parser.hpp +392 -0
- data/ext/third_party/json/include/tao/json/cbor/to_stream.hpp +27 -0
- data/ext/third_party/json/include/tao/json/cbor/to_string.hpp +28 -0
- data/ext/third_party/json/include/tao/json/consume.hpp +43 -0
- data/ext/third_party/json/include/tao/json/consume_file.hpp +33 -0
- data/ext/third_party/json/include/tao/json/consume_string.hpp +31 -0
- data/ext/third_party/json/include/tao/json/contrib/array_traits.hpp +43 -0
- data/ext/third_party/json/include/tao/json/contrib/deque_traits.hpp +41 -0
- data/ext/third_party/json/include/tao/json/contrib/diff.hpp +106 -0
- data/ext/third_party/json/include/tao/json/contrib/get.hpp +152 -0
- data/ext/third_party/json/include/tao/json/contrib/internal/array_traits.hpp +92 -0
- data/ext/third_party/json/include/tao/json/contrib/internal/indirect_traits.hpp +76 -0
- data/ext/third_party/json/include/tao/json/contrib/internal/object_traits.hpp +105 -0
- data/ext/third_party/json/include/tao/json/contrib/internal/type_traits.hpp +36 -0
- data/ext/third_party/json/include/tao/json/contrib/list_traits.hpp +41 -0
- data/ext/third_party/json/include/tao/json/contrib/map_traits.hpp +43 -0
- data/ext/third_party/json/include/tao/json/contrib/multimap_traits.hpp +43 -0
- data/ext/third_party/json/include/tao/json/contrib/multiset_traits.hpp +41 -0
- data/ext/third_party/json/include/tao/json/contrib/pair_traits.hpp +21 -0
- data/ext/third_party/json/include/tao/json/contrib/patch.hpp +105 -0
- data/ext/third_party/json/include/tao/json/contrib/pointer_traits.hpp +59 -0
- data/ext/third_party/json/include/tao/json/contrib/position.hpp +166 -0
- data/ext/third_party/json/include/tao/json/contrib/reference.hpp +113 -0
- data/ext/third_party/json/include/tao/json/contrib/schema.hpp +1874 -0
- data/ext/third_party/json/include/tao/json/contrib/set_traits.hpp +41 -0
- data/ext/third_party/json/include/tao/json/contrib/shared_ptr_traits.hpp +98 -0
- data/ext/third_party/json/include/tao/json/contrib/traits.hpp +121 -0
- data/ext/third_party/json/include/tao/json/contrib/tuple_traits.hpp +51 -0
- data/ext/third_party/json/include/tao/json/contrib/unique_ptr_traits.hpp +97 -0
- data/ext/third_party/json/include/tao/json/contrib/unordered_map_traits.hpp +43 -0
- data/ext/third_party/json/include/tao/json/contrib/unordered_set_traits.hpp +41 -0
- data/ext/third_party/json/include/tao/json/contrib/vector_bool_traits.hpp +45 -0
- data/ext/third_party/json/include/tao/json/contrib/vector_traits.hpp +51 -0
- data/ext/third_party/json/include/tao/json/events.hpp +47 -0
- data/ext/third_party/json/include/tao/json/events/apply.hpp +20 -0
- data/ext/third_party/json/include/tao/json/events/binary_to_base64.hpp +26 -0
- data/ext/third_party/json/include/tao/json/events/binary_to_base64url.hpp +28 -0
- data/ext/third_party/json/include/tao/json/events/binary_to_exception.hpp +27 -0
- data/ext/third_party/json/include/tao/json/events/binary_to_hex.hpp +26 -0
- data/ext/third_party/json/include/tao/json/events/compare.hpp +255 -0
- data/ext/third_party/json/include/tao/json/events/debug.hpp +145 -0
- data/ext/third_party/json/include/tao/json/events/discard.hpp +43 -0
- data/ext/third_party/json/include/tao/json/events/from_file.hpp +28 -0
- data/ext/third_party/json/include/tao/json/events/from_input.hpp +45 -0
- data/ext/third_party/json/include/tao/json/events/from_stream.hpp +33 -0
- data/ext/third_party/json/include/tao/json/events/from_string.hpp +38 -0
- data/ext/third_party/json/include/tao/json/events/from_value.hpp +202 -0
- data/ext/third_party/json/include/tao/json/events/hash.hpp +174 -0
- data/ext/third_party/json/include/tao/json/events/invalid_string_to_binary.hpp +50 -0
- data/ext/third_party/json/include/tao/json/events/invalid_string_to_exception.hpp +49 -0
- data/ext/third_party/json/include/tao/json/events/invalid_string_to_hex.hpp +48 -0
- data/ext/third_party/json/include/tao/json/events/key_camel_case_to_snake_case.hpp +62 -0
- data/ext/third_party/json/include/tao/json/events/key_snake_case_to_camel_case.hpp +57 -0
- data/ext/third_party/json/include/tao/json/events/limit_nesting_depth.hpp +82 -0
- data/ext/third_party/json/include/tao/json/events/limit_value_count.hpp +46 -0
- data/ext/third_party/json/include/tao/json/events/non_finite_to_exception.hpp +31 -0
- data/ext/third_party/json/include/tao/json/events/non_finite_to_null.hpp +32 -0
- data/ext/third_party/json/include/tao/json/events/non_finite_to_string.hpp +40 -0
- data/ext/third_party/json/include/tao/json/events/prefer_signed.hpp +32 -0
- data/ext/third_party/json/include/tao/json/events/prefer_unsigned.hpp +32 -0
- data/ext/third_party/json/include/tao/json/events/produce.hpp +22 -0
- data/ext/third_party/json/include/tao/json/events/ref.hpp +111 -0
- data/ext/third_party/json/include/tao/json/events/statistics.hpp +112 -0
- data/ext/third_party/json/include/tao/json/events/tee.hpp +386 -0
- data/ext/third_party/json/include/tao/json/events/to_pretty_stream.hpp +172 -0
- data/ext/third_party/json/include/tao/json/events/to_stream.hpp +142 -0
- data/ext/third_party/json/include/tao/json/events/to_string.hpp +33 -0
- data/ext/third_party/json/include/tao/json/events/to_value.hpp +137 -0
- data/ext/third_party/json/include/tao/json/events/transformer.hpp +70 -0
- data/ext/third_party/json/include/tao/json/events/validate_event_order.hpp +411 -0
- data/ext/third_party/json/include/tao/json/events/validate_keys.hpp +51 -0
- data/ext/third_party/json/include/tao/json/events/virtual_base.hpp +192 -0
- data/ext/third_party/json/include/tao/json/events/virtual_ref.hpp +176 -0
- data/ext/third_party/json/include/tao/json/external/double.hpp +1313 -0
- data/ext/third_party/json/include/tao/json/external/itoa.hpp +149 -0
- data/ext/third_party/json/include/tao/json/external/pegtl.hpp +44 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/apply_mode.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/argv_input.hpp +49 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/ascii.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/buffer_input.hpp +212 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action.hpp +38 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_state.hpp +53 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_action_and_states.hpp +62 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_control.hpp +36 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_state.hpp +50 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/change_states.hpp +61 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/config.hpp +11 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/abnf.hpp +35 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/alphabet.hpp +67 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze.hpp +176 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/analyze_traits.hpp +275 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/control_action.hpp +77 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/coverage.hpp +151 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/forward.hpp +16 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/http.hpp +272 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/internal.hpp +66 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf16.hpp +196 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf32.hpp +196 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/icu/utf8.hpp +103 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/if_then.hpp +56 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/integer.hpp +431 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian.hpp +62 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_gcc.hpp +206 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/endian_win.hpp +106 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_mask_uint8.hpp +33 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint.hpp +45 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_uint8.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf16.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/peek_utf32.hpp +43 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/read_uint.hpp +77 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/internal/set_stack_guard.hpp +52 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json.hpp +88 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/json_pointer.hpp +33 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree.hpp +440 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/parse_tree_to_dot.hpp +105 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print.hpp +75 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/print_coverage.hpp +53 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/raw_string.hpp +234 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_first_state.hpp +69 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/remove_last_states.hpp +117 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_one_min_max.hpp +94 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/rep_string.hpp +43 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/shuffle_states.hpp +193 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/state_control.hpp +118 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/to_string.hpp +38 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/trace.hpp +227 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint16.hpp +62 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint32.hpp +62 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint64.hpp +63 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uint8.hpp +36 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/unescape.hpp +199 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/uri.hpp +106 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf16.hpp +49 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/contrib/utf32.hpp +49 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/cstream_input.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/demangle.hpp +138 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/disable_action.hpp +35 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input.hpp +37 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_failure.hpp +39 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/discard_input_on_success.hpp +39 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/enable_action.hpp +35 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/eol.hpp +37 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/eol_pair.hpp +18 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/file_input.hpp +44 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/action.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/action_input.hpp +106 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/any.hpp +58 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply.hpp +53 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0.hpp +51 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply0_single.hpp +34 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/apply_single.hpp +34 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/at.hpp +55 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bof.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bol.hpp +31 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump.hpp +45 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bump_help.hpp +29 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/bytes.hpp +43 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/control.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_crlf_eol.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cr_eol.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/crlf_eol.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstream_reader.hpp +49 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/cstring_reader.hpp +40 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/dependent_false.hpp +16 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/disable.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/discard.hpp +34 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/enable_control.hpp +25 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eof.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eol.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/eolf.hpp +33 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/failure.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_posix.hpp +134 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_mapper_win32.hpp +213 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/file_reader.hpp +113 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_apply0.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_match.hpp +40 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/has_unwind.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/identifier.hpp +22 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_apply.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must.hpp +47 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_must_else.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/if_then_else.hpp +51 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/input_pair.hpp +29 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/istream_reader.hpp +39 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/istring.hpp +72 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/iterator.hpp +49 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_crlf_eol.hpp +37 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/lf_eol.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_must.hpp +20 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail.hpp +22 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/list_tail_pad.hpp +22 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/marker.hpp +80 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/minus.hpp +21 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply.hpp +28 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/missing_apply0.hpp +26 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/must.hpp +64 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/not_at.hpp +55 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/one.hpp +55 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/opt.hpp +57 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/pad_opt.hpp +20 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/path_to_string.hpp +26 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_char.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/peek_utf8.hpp +89 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/pegtl_string.hpp +90 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/plus.hpp +60 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/raise.hpp +44 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/range.hpp +56 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/ranges.hpp +103 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rematch.hpp +72 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep.hpp +67 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min.hpp +20 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_min_max.hpp +81 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rep_opt.hpp +61 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/require.hpp +42 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/result_on_found.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/rules.hpp +61 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/seq.hpp +58 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/sor.hpp +67 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/star.hpp +52 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/star_must.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/state.hpp +59 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/string.hpp +58 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/success.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/try_catch_type.hpp +64 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/internal/until.hpp +88 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/istream_input.hpp +32 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/match.hpp +169 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/memory_input.hpp +365 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/mmap_input.hpp +79 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/must_if.hpp +64 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/normal.hpp +87 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/nothing.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/parse.hpp +51 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/parse_error.hpp +114 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/position.hpp +83 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/read_input.hpp +54 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/require_apply.hpp +16 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/require_apply0.hpp +16 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/rewind_mode.hpp +20 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/rules.hpp +68 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/string_input.hpp +64 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/tracking_mode.hpp +19 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/type_list.hpp +46 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/utf8.hpp +28 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/version.hpp +13 -0
- data/ext/third_party/json/include/tao/json/external/pegtl/visit.hpp +66 -0
- data/ext/third_party/json/include/tao/json/external/ryu.hpp +1216 -0
- data/ext/third_party/json/include/tao/json/forward.hpp +44 -0
- data/ext/third_party/json/include/tao/json/from_file.hpp +32 -0
- data/ext/third_party/json/include/tao/json/from_input.hpp +32 -0
- data/ext/third_party/json/include/tao/json/from_stream.hpp +45 -0
- data/ext/third_party/json/include/tao/json/from_string.hpp +41 -0
- data/ext/third_party/json/include/tao/json/internal/action.hpp +268 -0
- data/ext/third_party/json/include/tao/json/internal/base64.hpp +55 -0
- data/ext/third_party/json/include/tao/json/internal/base64url.hpp +53 -0
- data/ext/third_party/json/include/tao/json/internal/dependent_false.hpp +14 -0
- data/ext/third_party/json/include/tao/json/internal/endian.hpp +60 -0
- data/ext/third_party/json/include/tao/json/internal/endian_gcc.hpp +198 -0
- data/ext/third_party/json/include/tao/json/internal/endian_win.hpp +103 -0
- data/ext/third_party/json/include/tao/json/internal/errors.hpp +85 -0
- data/ext/third_party/json/include/tao/json/internal/escape.hpp +77 -0
- data/ext/third_party/json/include/tao/json/internal/format.hpp +57 -0
- data/ext/third_party/json/include/tao/json/internal/grammar.hpp +229 -0
- data/ext/third_party/json/include/tao/json/internal/hexdump.hpp +31 -0
- data/ext/third_party/json/include/tao/json/internal/identity.hpp +22 -0
- data/ext/third_party/json/include/tao/json/internal/number_state.hpp +80 -0
- data/ext/third_party/json/include/tao/json/internal/number_traits.hpp +267 -0
- data/ext/third_party/json/include/tao/json/internal/pair.hpp +42 -0
- data/ext/third_party/json/include/tao/json/internal/parse_util.hpp +112 -0
- data/ext/third_party/json/include/tao/json/internal/sha256.hpp +218 -0
- data/ext/third_party/json/include/tao/json/internal/single.hpp +40 -0
- data/ext/third_party/json/include/tao/json/internal/string_t.hpp +35 -0
- data/ext/third_party/json/include/tao/json/internal/type_traits.hpp +96 -0
- data/ext/third_party/json/include/tao/json/internal/unescape_action.hpp +24 -0
- data/ext/third_party/json/include/tao/json/internal/uri_fragment.hpp +182 -0
- data/ext/third_party/json/include/tao/json/jaxn.hpp +19 -0
- data/ext/third_party/json/include/tao/json/jaxn/consume_file.hpp +34 -0
- data/ext/third_party/json/include/tao/json/jaxn/consume_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/from_file.hpp +28 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/from_input.hpp +45 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/from_stream.hpp +33 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/from_string.hpp +39 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/to_pretty_stream.hpp +69 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/to_stream.hpp +67 -0
- data/ext/third_party/json/include/tao/json/jaxn/events/to_string.hpp +33 -0
- data/ext/third_party/json/include/tao/json/jaxn/from_file.hpp +33 -0
- data/ext/third_party/json/include/tao/json/jaxn/from_input.hpp +33 -0
- data/ext/third_party/json/include/tao/json/jaxn/from_stream.hpp +48 -0
- data/ext/third_party/json/include/tao/json/jaxn/from_string.hpp +42 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/action.hpp +355 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/bunescape_action.hpp +114 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/errors.hpp +108 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/grammar.hpp +375 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/integer.hpp +255 -0
- data/ext/third_party/json/include/tao/json/jaxn/internal/unescape_action.hpp +28 -0
- data/ext/third_party/json/include/tao/json/jaxn/is_identifier.hpp +27 -0
- data/ext/third_party/json/include/tao/json/jaxn/parts_parser.hpp +261 -0
- data/ext/third_party/json/include/tao/json/jaxn/to_stream.hpp +36 -0
- data/ext/third_party/json/include/tao/json/jaxn/to_string.hpp +33 -0
- data/ext/third_party/json/include/tao/json/message_extension.hpp +49 -0
- data/ext/third_party/json/include/tao/json/msgpack.hpp +19 -0
- data/ext/third_party/json/include/tao/json/msgpack/consume_file.hpp +34 -0
- data/ext/third_party/json/include/tao/json/msgpack/consume_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/from_file.hpp +27 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/from_input.hpp +43 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/from_string.hpp +37 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/to_stream.hpp +214 -0
- data/ext/third_party/json/include/tao/json/msgpack/events/to_string.hpp +31 -0
- data/ext/third_party/json/include/tao/json/msgpack/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/msgpack/from_file.hpp +33 -0
- data/ext/third_party/json/include/tao/json/msgpack/from_input.hpp +33 -0
- data/ext/third_party/json/include/tao/json/msgpack/from_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/msgpack/internal/format.hpp +57 -0
- data/ext/third_party/json/include/tao/json/msgpack/internal/grammar.hpp +250 -0
- data/ext/third_party/json/include/tao/json/msgpack/parts_parser.hpp +311 -0
- data/ext/third_party/json/include/tao/json/msgpack/to_stream.hpp +27 -0
- data/ext/third_party/json/include/tao/json/msgpack/to_string.hpp +28 -0
- data/ext/third_party/json/include/tao/json/operators.hpp +490 -0
- data/ext/third_party/json/include/tao/json/parts_parser.hpp +302 -0
- data/ext/third_party/json/include/tao/json/pointer.hpp +432 -0
- data/ext/third_party/json/include/tao/json/produce.hpp +61 -0
- data/ext/third_party/json/include/tao/json/self_contained.hpp +131 -0
- data/ext/third_party/json/include/tao/json/span.hpp +496 -0
- data/ext/third_party/json/include/tao/json/stream.hpp +38 -0
- data/ext/third_party/json/include/tao/json/to_stream.hpp +42 -0
- data/ext/third_party/json/include/tao/json/to_string.hpp +23 -0
- data/ext/third_party/json/include/tao/json/traits.hpp +971 -0
- data/ext/third_party/json/include/tao/json/type.hpp +112 -0
- data/ext/third_party/json/include/tao/json/ubjson.hpp +19 -0
- data/ext/third_party/json/include/tao/json/ubjson/consume_file.hpp +34 -0
- data/ext/third_party/json/include/tao/json/ubjson/consume_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/from_binary.hpp +43 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/from_file.hpp +27 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/from_input.hpp +43 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/from_string.hpp +37 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/to_stream.hpp +174 -0
- data/ext/third_party/json/include/tao/json/ubjson/events/to_string.hpp +31 -0
- data/ext/third_party/json/include/tao/json/ubjson/from_binary.hpp +32 -0
- data/ext/third_party/json/include/tao/json/ubjson/from_file.hpp +33 -0
- data/ext/third_party/json/include/tao/json/ubjson/from_input.hpp +33 -0
- data/ext/third_party/json/include/tao/json/ubjson/from_string.hpp +32 -0
- data/ext/third_party/json/include/tao/json/ubjson/internal/grammar.hpp +415 -0
- data/ext/third_party/json/include/tao/json/ubjson/internal/marker.hpp +46 -0
- data/ext/third_party/json/include/tao/json/ubjson/parts_parser.hpp +393 -0
- data/ext/third_party/json/include/tao/json/ubjson/to_stream.hpp +28 -0
- data/ext/third_party/json/include/tao/json/ubjson/to_string.hpp +29 -0
- data/ext/third_party/json/include/tao/json/utf8.hpp +57 -0
- data/ext/third_party/json/include/tao/json/value.hpp +12 -0
- data/ext/third_party/snappy/CMakeLists.txt +345 -0
- data/ext/third_party/snappy/COPYING +54 -0
- data/ext/third_party/snappy/cmake/SnappyConfig.cmake.in +33 -0
- data/ext/third_party/snappy/cmake/config.h.in +59 -0
- data/ext/third_party/snappy/snappy-c.cc +90 -0
- data/ext/third_party/snappy/snappy-c.h +138 -0
- data/ext/third_party/snappy/snappy-internal.h +315 -0
- data/ext/third_party/snappy/snappy-sinksource.cc +121 -0
- data/ext/third_party/snappy/snappy-sinksource.h +182 -0
- data/ext/third_party/snappy/snappy-stubs-internal.cc +42 -0
- data/ext/third_party/snappy/snappy-stubs-internal.h +493 -0
- data/ext/third_party/snappy/snappy-stubs-public.h.in +63 -0
- data/ext/third_party/snappy/snappy.cc +1774 -0
- data/ext/third_party/snappy/snappy.h +209 -0
- data/ext/third_party/spdlog/CMakeLists.txt +291 -0
- data/ext/third_party/spdlog/LICENSE +26 -0
- data/ext/third_party/spdlog/cmake/ide.cmake +18 -0
- data/ext/third_party/spdlog/cmake/pch.h.in +258 -0
- data/ext/third_party/spdlog/cmake/spdlog.pc.in +13 -0
- data/ext/third_party/spdlog/cmake/spdlogCPack.cmake +46 -0
- data/ext/third_party/spdlog/cmake/spdlogConfig.cmake.in +15 -0
- data/ext/third_party/spdlog/cmake/utils.cmake +61 -0
- data/ext/third_party/spdlog/cmake/version.rc.in +42 -0
- data/ext/third_party/spdlog/include/spdlog/async.h +93 -0
- data/ext/third_party/spdlog/include/spdlog/async_logger-inl.h +92 -0
- data/ext/third_party/spdlog/include/spdlog/async_logger.h +68 -0
- data/ext/third_party/spdlog/include/spdlog/cfg/argv.h +44 -0
- data/ext/third_party/spdlog/include/spdlog/cfg/env.h +38 -0
- data/ext/third_party/spdlog/include/spdlog/cfg/helpers-inl.h +119 -0
- data/ext/third_party/spdlog/include/spdlog/cfg/helpers.h +29 -0
- data/ext/third_party/spdlog/include/spdlog/common-inl.h +76 -0
- data/ext/third_party/spdlog/include/spdlog/common.h +245 -0
- data/ext/third_party/spdlog/include/spdlog/details/backtracer-inl.h +69 -0
- data/ext/third_party/spdlog/include/spdlog/details/backtracer.h +45 -0
- data/ext/third_party/spdlog/include/spdlog/details/circular_q.h +141 -0
- data/ext/third_party/spdlog/include/spdlog/details/console_globals.h +32 -0
- data/ext/third_party/spdlog/include/spdlog/details/file_helper-inl.h +132 -0
- data/ext/third_party/spdlog/include/spdlog/details/file_helper.h +59 -0
- data/ext/third_party/spdlog/include/spdlog/details/fmt_helper.h +116 -0
- data/ext/third_party/spdlog/include/spdlog/details/log_msg-inl.h +37 -0
- data/ext/third_party/spdlog/include/spdlog/details/log_msg.h +36 -0
- data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer-inl.h +58 -0
- data/ext/third_party/spdlog/include/spdlog/details/log_msg_buffer.h +33 -0
- data/ext/third_party/spdlog/include/spdlog/details/mpmc_blocking_q.h +120 -0
- data/ext/third_party/spdlog/include/spdlog/details/null_mutex.h +49 -0
- data/ext/third_party/spdlog/include/spdlog/details/os-inl.h +554 -0
- data/ext/third_party/spdlog/include/spdlog/details/os.h +111 -0
- data/ext/third_party/spdlog/include/spdlog/details/periodic_worker-inl.h +49 -0
- data/ext/third_party/spdlog/include/spdlog/details/periodic_worker.h +40 -0
- data/ext/third_party/spdlog/include/spdlog/details/registry-inl.h +313 -0
- data/ext/third_party/spdlog/include/spdlog/details/registry.h +115 -0
- data/ext/third_party/spdlog/include/spdlog/details/synchronous_factory.h +24 -0
- data/ext/third_party/spdlog/include/spdlog/details/tcp_client-windows.h +175 -0
- data/ext/third_party/spdlog/include/spdlog/details/tcp_client.h +146 -0
- data/ext/third_party/spdlog/include/spdlog/details/thread_pool-inl.h +124 -0
- data/ext/third_party/spdlog/include/spdlog/details/thread_pool.h +120 -0
- data/ext/third_party/spdlog/include/spdlog/details/windows_include.h +11 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bin_to_hex.h +216 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/LICENSE.rst +27 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/chrono.h +1123 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/color.h +566 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/compile.h +665 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/core.h +1882 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format-inl.h +1453 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/format.h +3729 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/locale.h +78 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/os.h +450 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ostream.h +167 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/posix.h +2 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/printf.h +751 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/bundled/ranges.h +386 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/chrono.h +20 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/fmt.h +27 -0
- data/ext/third_party/spdlog/include/spdlog/fmt/ostr.h +20 -0
- data/ext/third_party/spdlog/include/spdlog/formatter.h +18 -0
- data/ext/third_party/spdlog/include/spdlog/fwd.h +14 -0
- data/ext/third_party/spdlog/include/spdlog/logger-inl.h +257 -0
- data/ext/third_party/spdlog/include/spdlog/logger.h +366 -0
- data/ext/third_party/spdlog/include/spdlog/pattern_formatter-inl.h +1373 -0
- data/ext/third_party/spdlog/include/spdlog/pattern_formatter.h +126 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/android_sink.h +119 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +143 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/ansicolor_sink.h +118 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/base_sink-inl.h +63 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/base_sink.h +52 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +43 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/basic_file_sink.h +58 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/daily_file_sink.h +204 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/dist_sink.h +97 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/dup_filter_sink.h +90 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/msvc_sink.h +49 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/null_sink.h +44 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/ostream_sink.h +50 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/ringbuffer_sink.h +74 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +131 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/rotating_file_sink.h +78 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/sink-inl.h +25 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/sink.h +35 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +38 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_color_sinks.h +45 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +123 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/stdout_sinks.h +87 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/syslog_sink.h +109 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/systemd_sink.h +103 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/tcp_sink.h +81 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/win_eventlog_sink.h +266 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +170 -0
- data/ext/third_party/spdlog/include/spdlog/sinks/wincolor_sink.h +94 -0
- data/ext/third_party/spdlog/include/spdlog/spdlog-inl.h +125 -0
- data/ext/third_party/spdlog/include/spdlog/spdlog.h +295 -0
- data/ext/third_party/spdlog/include/spdlog/stopwatch.h +61 -0
- data/ext/third_party/spdlog/include/spdlog/tweakme.h +116 -0
- data/ext/third_party/spdlog/include/spdlog/version.h +10 -0
- data/ext/third_party/spdlog/src/async.cpp +13 -0
- data/ext/third_party/spdlog/src/cfg.cpp +8 -0
- data/ext/third_party/spdlog/src/color_sinks.cpp +51 -0
- data/ext/third_party/spdlog/src/file_sinks.cpp +20 -0
- data/ext/third_party/spdlog/src/fmt.cpp +63 -0
- data/ext/third_party/spdlog/src/spdlog.cpp +26 -0
- data/ext/third_party/spdlog/src/stdout_sinks.cpp +29 -0
- data/lib/active_support/cache/couchbase_store.rb +362 -0
- data/lib/couchbase.rb +20 -0
- data/lib/couchbase/analytics_options.rb +107 -0
- data/lib/couchbase/authenticator.rb +65 -0
- data/lib/couchbase/binary_collection.rb +128 -0
- data/lib/couchbase/binary_collection_options.rb +24 -0
- data/lib/couchbase/bucket.rb +144 -0
- data/lib/couchbase/cluster.rb +430 -0
- data/lib/couchbase/collection.rb +562 -0
- data/lib/couchbase/collection_options.rb +324 -0
- data/lib/couchbase/configuration.rb +57 -0
- data/lib/couchbase/datastructures.rb +24 -0
- data/lib/couchbase/datastructures/couchbase_list.rb +160 -0
- data/lib/couchbase/datastructures/couchbase_map.rb +194 -0
- data/lib/couchbase/datastructures/couchbase_queue.rb +134 -0
- data/lib/couchbase/datastructures/couchbase_set.rb +128 -0
- data/lib/couchbase/diagnostics.rb +181 -0
- data/lib/couchbase/errors.rb +345 -0
- data/lib/couchbase/json_transcoder.rb +32 -0
- data/lib/couchbase/libcouchbase.bundle +0 -0
- data/lib/couchbase/logger.rb +42 -0
- data/lib/couchbase/management.rb +27 -0
- data/lib/couchbase/management/analytics_index_manager.rb +433 -0
- data/lib/couchbase/management/bucket_manager.rb +292 -0
- data/lib/couchbase/management/collection_manager.rb +202 -0
- data/lib/couchbase/management/query_index_manager.rb +342 -0
- data/lib/couchbase/management/search_index_manager.rb +408 -0
- data/lib/couchbase/management/user_manager.rb +449 -0
- data/lib/couchbase/management/view_index_manager.rb +237 -0
- data/lib/couchbase/mutation_state.rb +63 -0
- data/lib/couchbase/options.rb +2104 -0
- data/lib/couchbase/query_options.rb +120 -0
- data/lib/couchbase/railtie.rb +45 -0
- data/lib/couchbase/scope.rb +127 -0
- data/lib/couchbase/search_options.rb +1487 -0
- data/lib/couchbase/subdoc.rb +290 -0
- data/lib/couchbase/utils.rb +21 -0
- data/lib/couchbase/utils/time.rb +52 -0
- data/lib/couchbase/version.rb +37 -0
- data/lib/couchbase/view_options.rb +65 -0
- data/lib/rails/generators/couchbase/config/config_generator.rb +27 -0
- metadata +1403 -0
@@ -0,0 +1,1030 @@
|
|
1
|
+
//
|
2
|
+
// ip/basic_resolver.hpp
|
3
|
+
// ~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
//
|
5
|
+
// Copyright (c) 2003-2020 Christopher M. Kohlhoff (chris at kohlhoff dot com)
|
6
|
+
//
|
7
|
+
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
8
|
+
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
//
|
10
|
+
|
11
|
+
#ifndef ASIO_IP_BASIC_RESOLVER_HPP
|
12
|
+
#define ASIO_IP_BASIC_RESOLVER_HPP
|
13
|
+
|
14
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
15
|
+
# pragma once
|
16
|
+
#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
|
17
|
+
|
18
|
+
#include "asio/detail/config.hpp"
|
19
|
+
#include <string>
|
20
|
+
#include "asio/any_io_executor.hpp"
|
21
|
+
#include "asio/async_result.hpp"
|
22
|
+
#include "asio/detail/handler_type_requirements.hpp"
|
23
|
+
#include "asio/detail/io_object_impl.hpp"
|
24
|
+
#include "asio/detail/non_const_lvalue.hpp"
|
25
|
+
#include "asio/detail/string_view.hpp"
|
26
|
+
#include "asio/detail/throw_error.hpp"
|
27
|
+
#include "asio/error.hpp"
|
28
|
+
#include "asio/execution_context.hpp"
|
29
|
+
#include "asio/ip/basic_resolver_iterator.hpp"
|
30
|
+
#include "asio/ip/basic_resolver_query.hpp"
|
31
|
+
#include "asio/ip/basic_resolver_results.hpp"
|
32
|
+
#include "asio/ip/resolver_base.hpp"
|
33
|
+
#if defined(ASIO_WINDOWS_RUNTIME)
|
34
|
+
# include "asio/detail/winrt_resolver_service.hpp"
|
35
|
+
#else
|
36
|
+
# include "asio/detail/resolver_service.hpp"
|
37
|
+
#endif
|
38
|
+
|
39
|
+
#if defined(ASIO_HAS_MOVE)
|
40
|
+
# include <utility>
|
41
|
+
#endif // defined(ASIO_HAS_MOVE)
|
42
|
+
|
43
|
+
#include "asio/detail/push_options.hpp"
|
44
|
+
|
45
|
+
namespace asio {
|
46
|
+
namespace ip {
|
47
|
+
|
48
|
+
#if !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL)
|
49
|
+
#define ASIO_IP_BASIC_RESOLVER_FWD_DECL
|
50
|
+
|
51
|
+
// Forward declaration with defaulted arguments.
|
52
|
+
template <typename InternetProtocol, typename Executor = any_io_executor>
|
53
|
+
class basic_resolver;
|
54
|
+
|
55
|
+
#endif // !defined(ASIO_IP_BASIC_RESOLVER_FWD_DECL)
|
56
|
+
|
57
|
+
/// Provides endpoint resolution functionality.
|
58
|
+
/**
|
59
|
+
* The basic_resolver class template provides the ability to resolve a query
|
60
|
+
* to a list of endpoints.
|
61
|
+
*
|
62
|
+
* @par Thread Safety
|
63
|
+
* @e Distinct @e objects: Safe.@n
|
64
|
+
* @e Shared @e objects: Unsafe.
|
65
|
+
*/
|
66
|
+
template <typename InternetProtocol, typename Executor>
|
67
|
+
class basic_resolver
|
68
|
+
: public resolver_base
|
69
|
+
{
|
70
|
+
public:
|
71
|
+
/// The type of the executor associated with the object.
|
72
|
+
typedef Executor executor_type;
|
73
|
+
|
74
|
+
/// Rebinds the resolver type to another executor.
|
75
|
+
template <typename Executor1>
|
76
|
+
struct rebind_executor
|
77
|
+
{
|
78
|
+
/// The resolver type when rebound to the specified executor.
|
79
|
+
typedef basic_resolver<InternetProtocol, Executor1> other;
|
80
|
+
};
|
81
|
+
|
82
|
+
/// The protocol type.
|
83
|
+
typedef InternetProtocol protocol_type;
|
84
|
+
|
85
|
+
/// The endpoint type.
|
86
|
+
typedef typename InternetProtocol::endpoint endpoint_type;
|
87
|
+
|
88
|
+
#if !defined(ASIO_NO_DEPRECATED)
|
89
|
+
/// (Deprecated.) The query type.
|
90
|
+
typedef basic_resolver_query<InternetProtocol> query;
|
91
|
+
|
92
|
+
/// (Deprecated.) The iterator type.
|
93
|
+
typedef basic_resolver_iterator<InternetProtocol> iterator;
|
94
|
+
#endif // !defined(ASIO_NO_DEPRECATED)
|
95
|
+
|
96
|
+
/// The results type.
|
97
|
+
typedef basic_resolver_results<InternetProtocol> results_type;
|
98
|
+
|
99
|
+
/// Construct with executor.
|
100
|
+
/**
|
101
|
+
* This constructor creates a basic_resolver.
|
102
|
+
*
|
103
|
+
* @param ex The I/O executor that the resolver will use, by default, to
|
104
|
+
* dispatch handlers for any asynchronous operations performed on the
|
105
|
+
* resolver.
|
106
|
+
*/
|
107
|
+
explicit basic_resolver(const executor_type& ex)
|
108
|
+
: impl_(ex)
|
109
|
+
{
|
110
|
+
}
|
111
|
+
|
112
|
+
/// Construct with execution context.
|
113
|
+
/**
|
114
|
+
* This constructor creates a basic_resolver.
|
115
|
+
*
|
116
|
+
* @param context An execution context which provides the I/O executor that
|
117
|
+
* the resolver will use, by default, to dispatch handlers for any
|
118
|
+
* asynchronous operations performed on the resolver.
|
119
|
+
*/
|
120
|
+
template <typename ExecutionContext>
|
121
|
+
explicit basic_resolver(ExecutionContext& context,
|
122
|
+
typename enable_if<
|
123
|
+
is_convertible<ExecutionContext&, execution_context&>::value
|
124
|
+
>::type* = 0)
|
125
|
+
: impl_(context)
|
126
|
+
{
|
127
|
+
}
|
128
|
+
|
129
|
+
#if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
130
|
+
/// Move-construct a basic_resolver from another.
|
131
|
+
/**
|
132
|
+
* This constructor moves a resolver from one object to another.
|
133
|
+
*
|
134
|
+
* @param other The other basic_resolver object from which the move will
|
135
|
+
* occur.
|
136
|
+
*
|
137
|
+
* @note Following the move, the moved-from object is in the same state as if
|
138
|
+
* constructed using the @c basic_resolver(const executor_type&) constructor.
|
139
|
+
*/
|
140
|
+
basic_resolver(basic_resolver&& other)
|
141
|
+
: impl_(std::move(other.impl_))
|
142
|
+
{
|
143
|
+
}
|
144
|
+
|
145
|
+
/// Move-assign a basic_resolver from another.
|
146
|
+
/**
|
147
|
+
* This assignment operator moves a resolver from one object to another.
|
148
|
+
* Cancels any outstanding asynchronous operations associated with the target
|
149
|
+
* object.
|
150
|
+
*
|
151
|
+
* @param other The other basic_resolver object from which the move will
|
152
|
+
* occur.
|
153
|
+
*
|
154
|
+
* @note Following the move, the moved-from object is in the same state as if
|
155
|
+
* constructed using the @c basic_resolver(const executor_type&) constructor.
|
156
|
+
*/
|
157
|
+
basic_resolver& operator=(basic_resolver&& other)
|
158
|
+
{
|
159
|
+
impl_ = std::move(other.impl_);
|
160
|
+
return *this;
|
161
|
+
}
|
162
|
+
#endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
|
163
|
+
|
164
|
+
/// Destroys the resolver.
|
165
|
+
/**
|
166
|
+
* This function destroys the resolver, cancelling any outstanding
|
167
|
+
* asynchronous wait operations associated with the resolver as if by calling
|
168
|
+
* @c cancel.
|
169
|
+
*/
|
170
|
+
~basic_resolver()
|
171
|
+
{
|
172
|
+
}
|
173
|
+
|
174
|
+
/// Get the executor associated with the object.
|
175
|
+
executor_type get_executor() ASIO_NOEXCEPT
|
176
|
+
{
|
177
|
+
return impl_.get_executor();
|
178
|
+
}
|
179
|
+
|
180
|
+
/// Cancel any asynchronous operations that are waiting on the resolver.
|
181
|
+
/**
|
182
|
+
* This function forces the completion of any pending asynchronous
|
183
|
+
* operations on the host resolver. The handler for each cancelled operation
|
184
|
+
* will be invoked with the asio::error::operation_aborted error code.
|
185
|
+
*/
|
186
|
+
void cancel()
|
187
|
+
{
|
188
|
+
return impl_.get_service().cancel(impl_.get_implementation());
|
189
|
+
}
|
190
|
+
|
191
|
+
#if !defined(ASIO_NO_DEPRECATED)
|
192
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
193
|
+
/// Perform forward resolution of a query to a list of entries.
|
194
|
+
/**
|
195
|
+
* This function is used to resolve a query into a list of endpoint entries.
|
196
|
+
*
|
197
|
+
* @param q A query object that determines what endpoints will be returned.
|
198
|
+
*
|
199
|
+
* @returns A range object representing the list of endpoint entries. A
|
200
|
+
* successful call to this function is guaranteed to return a non-empty
|
201
|
+
* range.
|
202
|
+
*
|
203
|
+
* @throws asio::system_error Thrown on failure.
|
204
|
+
*/
|
205
|
+
results_type resolve(const query& q)
|
206
|
+
{
|
207
|
+
asio::error_code ec;
|
208
|
+
results_type r = impl_.get_service().resolve(
|
209
|
+
impl_.get_implementation(), q, ec);
|
210
|
+
asio::detail::throw_error(ec, "resolve");
|
211
|
+
return r;
|
212
|
+
}
|
213
|
+
|
214
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
215
|
+
/// Perform forward resolution of a query to a list of entries.
|
216
|
+
/**
|
217
|
+
* This function is used to resolve a query into a list of endpoint entries.
|
218
|
+
*
|
219
|
+
* @param q A query object that determines what endpoints will be returned.
|
220
|
+
*
|
221
|
+
* @param ec Set to indicate what error occurred, if any.
|
222
|
+
*
|
223
|
+
* @returns A range object representing the list of endpoint entries. An
|
224
|
+
* empty range is returned if an error occurs. A successful call to this
|
225
|
+
* function is guaranteed to return a non-empty range.
|
226
|
+
*/
|
227
|
+
results_type resolve(const query& q, asio::error_code& ec)
|
228
|
+
{
|
229
|
+
return impl_.get_service().resolve(impl_.get_implementation(), q, ec);
|
230
|
+
}
|
231
|
+
#endif // !defined(ASIO_NO_DEPRECATED)
|
232
|
+
|
233
|
+
/// Perform forward resolution of a query to a list of entries.
|
234
|
+
/**
|
235
|
+
* This function is used to resolve host and service names into a list of
|
236
|
+
* endpoint entries.
|
237
|
+
*
|
238
|
+
* @param host A string identifying a location. May be a descriptive name or
|
239
|
+
* a numeric address string. If an empty string and the passive flag has been
|
240
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
241
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
242
|
+
* will use the loopback address.
|
243
|
+
*
|
244
|
+
* @param service A string identifying the requested service. This may be a
|
245
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
246
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
247
|
+
* number of 0.
|
248
|
+
*
|
249
|
+
* @returns A range object representing the list of endpoint entries. A
|
250
|
+
* successful call to this function is guaranteed to return a non-empty
|
251
|
+
* range.
|
252
|
+
*
|
253
|
+
* @throws asio::system_error Thrown on failure.
|
254
|
+
*
|
255
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
256
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
257
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
258
|
+
* resolution is performed using DNS. Operating systems may use additional
|
259
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
260
|
+
*
|
261
|
+
* On POSIX systems, service names are typically defined in the file
|
262
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
263
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
264
|
+
* may use additional locations when resolving service names.
|
265
|
+
*/
|
266
|
+
results_type resolve(ASIO_STRING_VIEW_PARAM host,
|
267
|
+
ASIO_STRING_VIEW_PARAM service)
|
268
|
+
{
|
269
|
+
return resolve(host, service, resolver_base::flags());
|
270
|
+
}
|
271
|
+
|
272
|
+
/// Perform forward resolution of a query to a list of entries.
|
273
|
+
/**
|
274
|
+
* This function is used to resolve host and service names into a list of
|
275
|
+
* endpoint entries.
|
276
|
+
*
|
277
|
+
* @param host A string identifying a location. May be a descriptive name or
|
278
|
+
* a numeric address string. If an empty string and the passive flag has been
|
279
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
280
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
281
|
+
* will use the loopback address.
|
282
|
+
*
|
283
|
+
* @param service A string identifying the requested service. This may be a
|
284
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
285
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
286
|
+
* number of 0.
|
287
|
+
*
|
288
|
+
* @param ec Set to indicate what error occurred, if any.
|
289
|
+
*
|
290
|
+
* @returns A range object representing the list of endpoint entries. An
|
291
|
+
* empty range is returned if an error occurs. A successful call to this
|
292
|
+
* function is guaranteed to return a non-empty range.
|
293
|
+
*
|
294
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
295
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
296
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
297
|
+
* resolution is performed using DNS. Operating systems may use additional
|
298
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
299
|
+
*
|
300
|
+
* On POSIX systems, service names are typically defined in the file
|
301
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
302
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
303
|
+
* may use additional locations when resolving service names.
|
304
|
+
*/
|
305
|
+
results_type resolve(ASIO_STRING_VIEW_PARAM host,
|
306
|
+
ASIO_STRING_VIEW_PARAM service, asio::error_code& ec)
|
307
|
+
{
|
308
|
+
return resolve(host, service, resolver_base::flags(), ec);
|
309
|
+
}
|
310
|
+
|
311
|
+
/// Perform forward resolution of a query to a list of entries.
|
312
|
+
/**
|
313
|
+
* This function is used to resolve host and service names into a list of
|
314
|
+
* endpoint entries.
|
315
|
+
*
|
316
|
+
* @param host A string identifying a location. May be a descriptive name or
|
317
|
+
* a numeric address string. If an empty string and the passive flag has been
|
318
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
319
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
320
|
+
* will use the loopback address.
|
321
|
+
*
|
322
|
+
* @param service A string identifying the requested service. This may be a
|
323
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
324
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
325
|
+
* number of 0.
|
326
|
+
*
|
327
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
328
|
+
* should be performed. The default flags are suitable for communication with
|
329
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
330
|
+
* available flags.
|
331
|
+
*
|
332
|
+
* @returns A range object representing the list of endpoint entries. A
|
333
|
+
* successful call to this function is guaranteed to return a non-empty
|
334
|
+
* range.
|
335
|
+
*
|
336
|
+
* @throws asio::system_error Thrown on failure.
|
337
|
+
*
|
338
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
339
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
340
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
341
|
+
* resolution is performed using DNS. Operating systems may use additional
|
342
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
343
|
+
*
|
344
|
+
* On POSIX systems, service names are typically defined in the file
|
345
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
346
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
347
|
+
* may use additional locations when resolving service names.
|
348
|
+
*/
|
349
|
+
results_type resolve(ASIO_STRING_VIEW_PARAM host,
|
350
|
+
ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags)
|
351
|
+
{
|
352
|
+
asio::error_code ec;
|
353
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
354
|
+
static_cast<std::string>(service), resolve_flags);
|
355
|
+
results_type r = impl_.get_service().resolve(
|
356
|
+
impl_.get_implementation(), q, ec);
|
357
|
+
asio::detail::throw_error(ec, "resolve");
|
358
|
+
return r;
|
359
|
+
}
|
360
|
+
|
361
|
+
/// Perform forward resolution of a query to a list of entries.
|
362
|
+
/**
|
363
|
+
* This function is used to resolve host and service names into a list of
|
364
|
+
* endpoint entries.
|
365
|
+
*
|
366
|
+
* @param host A string identifying a location. May be a descriptive name or
|
367
|
+
* a numeric address string. If an empty string and the passive flag has been
|
368
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
369
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
370
|
+
* will use the loopback address.
|
371
|
+
*
|
372
|
+
* @param service A string identifying the requested service. This may be a
|
373
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
374
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
375
|
+
* number of 0.
|
376
|
+
*
|
377
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
378
|
+
* should be performed. The default flags are suitable for communication with
|
379
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
380
|
+
* available flags.
|
381
|
+
*
|
382
|
+
* @param ec Set to indicate what error occurred, if any.
|
383
|
+
*
|
384
|
+
* @returns A range object representing the list of endpoint entries. An
|
385
|
+
* empty range is returned if an error occurs. A successful call to this
|
386
|
+
* function is guaranteed to return a non-empty range.
|
387
|
+
*
|
388
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
389
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
390
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
391
|
+
* resolution is performed using DNS. Operating systems may use additional
|
392
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
393
|
+
*
|
394
|
+
* On POSIX systems, service names are typically defined in the file
|
395
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
396
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
397
|
+
* may use additional locations when resolving service names.
|
398
|
+
*/
|
399
|
+
results_type resolve(ASIO_STRING_VIEW_PARAM host,
|
400
|
+
ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags,
|
401
|
+
asio::error_code& ec)
|
402
|
+
{
|
403
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
404
|
+
static_cast<std::string>(service), resolve_flags);
|
405
|
+
return impl_.get_service().resolve(impl_.get_implementation(), q, ec);
|
406
|
+
}
|
407
|
+
|
408
|
+
/// Perform forward resolution of a query to a list of entries.
|
409
|
+
/**
|
410
|
+
* This function is used to resolve host and service names into a list of
|
411
|
+
* endpoint entries.
|
412
|
+
*
|
413
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
414
|
+
* IPv6 version of an internet protocol.
|
415
|
+
*
|
416
|
+
* @param host A string identifying a location. May be a descriptive name or
|
417
|
+
* a numeric address string. If an empty string and the passive flag has been
|
418
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
419
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
420
|
+
* will use the loopback address.
|
421
|
+
*
|
422
|
+
* @param service A string identifying the requested service. This may be a
|
423
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
424
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
425
|
+
* number of 0.
|
426
|
+
*
|
427
|
+
* @returns A range object representing the list of endpoint entries. A
|
428
|
+
* successful call to this function is guaranteed to return a non-empty
|
429
|
+
* range.
|
430
|
+
*
|
431
|
+
* @throws asio::system_error Thrown on failure.
|
432
|
+
*
|
433
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
434
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
435
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
436
|
+
* resolution is performed using DNS. Operating systems may use additional
|
437
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
438
|
+
*
|
439
|
+
* On POSIX systems, service names are typically defined in the file
|
440
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
441
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
442
|
+
* may use additional locations when resolving service names.
|
443
|
+
*/
|
444
|
+
results_type resolve(const protocol_type& protocol,
|
445
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service)
|
446
|
+
{
|
447
|
+
return resolve(protocol, host, service, resolver_base::flags());
|
448
|
+
}
|
449
|
+
|
450
|
+
/// Perform forward resolution of a query to a list of entries.
|
451
|
+
/**
|
452
|
+
* This function is used to resolve host and service names into a list of
|
453
|
+
* endpoint entries.
|
454
|
+
*
|
455
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
456
|
+
* IPv6 version of an internet protocol.
|
457
|
+
*
|
458
|
+
* @param host A string identifying a location. May be a descriptive name or
|
459
|
+
* a numeric address string. If an empty string and the passive flag has been
|
460
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
461
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
462
|
+
* will use the loopback address.
|
463
|
+
*
|
464
|
+
* @param service A string identifying the requested service. This may be a
|
465
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
466
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
467
|
+
* number of 0.
|
468
|
+
*
|
469
|
+
* @param ec Set to indicate what error occurred, if any.
|
470
|
+
*
|
471
|
+
* @returns A range object representing the list of endpoint entries. An
|
472
|
+
* empty range is returned if an error occurs. A successful call to this
|
473
|
+
* function is guaranteed to return a non-empty range.
|
474
|
+
*
|
475
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
476
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
477
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
478
|
+
* resolution is performed using DNS. Operating systems may use additional
|
479
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
480
|
+
*
|
481
|
+
* On POSIX systems, service names are typically defined in the file
|
482
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
483
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
484
|
+
* may use additional locations when resolving service names.
|
485
|
+
*/
|
486
|
+
results_type resolve(const protocol_type& protocol,
|
487
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service,
|
488
|
+
asio::error_code& ec)
|
489
|
+
{
|
490
|
+
return resolve(protocol, host, service, resolver_base::flags(), ec);
|
491
|
+
}
|
492
|
+
|
493
|
+
/// Perform forward resolution of a query to a list of entries.
|
494
|
+
/**
|
495
|
+
* This function is used to resolve host and service names into a list of
|
496
|
+
* endpoint entries.
|
497
|
+
*
|
498
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
499
|
+
* IPv6 version of an internet protocol.
|
500
|
+
*
|
501
|
+
* @param host A string identifying a location. May be a descriptive name or
|
502
|
+
* a numeric address string. If an empty string and the passive flag has been
|
503
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
504
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
505
|
+
* will use the loopback address.
|
506
|
+
*
|
507
|
+
* @param service A string identifying the requested service. This may be a
|
508
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
509
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
510
|
+
* number of 0.
|
511
|
+
*
|
512
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
513
|
+
* should be performed. The default flags are suitable for communication with
|
514
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
515
|
+
* available flags.
|
516
|
+
*
|
517
|
+
* @returns A range object representing the list of endpoint entries. A
|
518
|
+
* successful call to this function is guaranteed to return a non-empty
|
519
|
+
* range.
|
520
|
+
*
|
521
|
+
* @throws asio::system_error Thrown on failure.
|
522
|
+
*
|
523
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
524
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
525
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
526
|
+
* resolution is performed using DNS. Operating systems may use additional
|
527
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
528
|
+
*
|
529
|
+
* On POSIX systems, service names are typically defined in the file
|
530
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
531
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
532
|
+
* may use additional locations when resolving service names.
|
533
|
+
*/
|
534
|
+
results_type resolve(const protocol_type& protocol,
|
535
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service,
|
536
|
+
resolver_base::flags resolve_flags)
|
537
|
+
{
|
538
|
+
asio::error_code ec;
|
539
|
+
basic_resolver_query<protocol_type> q(
|
540
|
+
protocol, static_cast<std::string>(host),
|
541
|
+
static_cast<std::string>(service), resolve_flags);
|
542
|
+
results_type r = impl_.get_service().resolve(
|
543
|
+
impl_.get_implementation(), q, ec);
|
544
|
+
asio::detail::throw_error(ec, "resolve");
|
545
|
+
return r;
|
546
|
+
}
|
547
|
+
|
548
|
+
/// Perform forward resolution of a query to a list of entries.
|
549
|
+
/**
|
550
|
+
* This function is used to resolve host and service names into a list of
|
551
|
+
* endpoint entries.
|
552
|
+
*
|
553
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
554
|
+
* IPv6 version of an internet protocol.
|
555
|
+
*
|
556
|
+
* @param host A string identifying a location. May be a descriptive name or
|
557
|
+
* a numeric address string. If an empty string and the passive flag has been
|
558
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
559
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
560
|
+
* will use the loopback address.
|
561
|
+
*
|
562
|
+
* @param service A string identifying the requested service. This may be a
|
563
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
564
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
565
|
+
* number of 0.
|
566
|
+
*
|
567
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
568
|
+
* should be performed. The default flags are suitable for communication with
|
569
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
570
|
+
* available flags.
|
571
|
+
*
|
572
|
+
* @param ec Set to indicate what error occurred, if any.
|
573
|
+
*
|
574
|
+
* @returns A range object representing the list of endpoint entries. An
|
575
|
+
* empty range is returned if an error occurs. A successful call to this
|
576
|
+
* function is guaranteed to return a non-empty range.
|
577
|
+
*
|
578
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
579
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
580
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
581
|
+
* resolution is performed using DNS. Operating systems may use additional
|
582
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
583
|
+
*
|
584
|
+
* On POSIX systems, service names are typically defined in the file
|
585
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
586
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
587
|
+
* may use additional locations when resolving service names.
|
588
|
+
*/
|
589
|
+
results_type resolve(const protocol_type& protocol,
|
590
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service,
|
591
|
+
resolver_base::flags resolve_flags, asio::error_code& ec)
|
592
|
+
{
|
593
|
+
basic_resolver_query<protocol_type> q(
|
594
|
+
protocol, static_cast<std::string>(host),
|
595
|
+
static_cast<std::string>(service), resolve_flags);
|
596
|
+
return impl_.get_service().resolve(impl_.get_implementation(), q, ec);
|
597
|
+
}
|
598
|
+
|
599
|
+
#if !defined(ASIO_NO_DEPRECATED)
|
600
|
+
/// (Deprecated: Use overload with separate host and service parameters.)
|
601
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
602
|
+
/**
|
603
|
+
* This function is used to asynchronously resolve a query into a list of
|
604
|
+
* endpoint entries.
|
605
|
+
*
|
606
|
+
* @param q A query object that determines what endpoints will be returned.
|
607
|
+
*
|
608
|
+
* @param handler The handler to be called when the resolve operation
|
609
|
+
* completes. Copies will be made of the handler as required. The function
|
610
|
+
* signature of the handler must be:
|
611
|
+
* @code void handler(
|
612
|
+
* const asio::error_code& error, // Result of operation.
|
613
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
614
|
+
* ); @endcode
|
615
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
616
|
+
* not, the handler will not be invoked from within this function. On
|
617
|
+
* immediate completion, invocation of the handler will be performed in a
|
618
|
+
* manner equivalent to using asio::post().
|
619
|
+
*
|
620
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
621
|
+
* the handler.
|
622
|
+
*/
|
623
|
+
template <
|
624
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
625
|
+
results_type)) ResolveHandler
|
626
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
627
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
628
|
+
void (asio::error_code, results_type))
|
629
|
+
async_resolve(const query& q,
|
630
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
631
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
632
|
+
{
|
633
|
+
return asio::async_initiate<ResolveHandler,
|
634
|
+
void (asio::error_code, results_type)>(
|
635
|
+
initiate_async_resolve(this), handler, q);
|
636
|
+
}
|
637
|
+
#endif // !defined(ASIO_NO_DEPRECATED)
|
638
|
+
|
639
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
640
|
+
/**
|
641
|
+
* This function is used to resolve host and service names into a list of
|
642
|
+
* endpoint entries.
|
643
|
+
*
|
644
|
+
* @param host A string identifying a location. May be a descriptive name or
|
645
|
+
* a numeric address string. If an empty string and the passive flag has been
|
646
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
647
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
648
|
+
* will use the loopback address.
|
649
|
+
*
|
650
|
+
* @param service A string identifying the requested service. This may be a
|
651
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
652
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
653
|
+
* number of 0.
|
654
|
+
*
|
655
|
+
* @param handler The handler to be called when the resolve operation
|
656
|
+
* completes. Copies will be made of the handler as required. The function
|
657
|
+
* signature of the handler must be:
|
658
|
+
* @code void handler(
|
659
|
+
* const asio::error_code& error, // Result of operation.
|
660
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
661
|
+
* ); @endcode
|
662
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
663
|
+
* not, the handler will not be invoked from within this function. On
|
664
|
+
* immediate completion, invocation of the handler will be performed in a
|
665
|
+
* manner equivalent to using asio::post().
|
666
|
+
*
|
667
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
668
|
+
* the handler.
|
669
|
+
*
|
670
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
671
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
672
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
673
|
+
* resolution is performed using DNS. Operating systems may use additional
|
674
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
675
|
+
*
|
676
|
+
* On POSIX systems, service names are typically defined in the file
|
677
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
678
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
679
|
+
* may use additional locations when resolving service names.
|
680
|
+
*/
|
681
|
+
template <
|
682
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
683
|
+
results_type)) ResolveHandler
|
684
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
685
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
686
|
+
void (asio::error_code, results_type))
|
687
|
+
async_resolve(ASIO_STRING_VIEW_PARAM host,
|
688
|
+
ASIO_STRING_VIEW_PARAM service,
|
689
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
690
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
691
|
+
{
|
692
|
+
return async_resolve(host, service, resolver_base::flags(),
|
693
|
+
ASIO_MOVE_CAST(ResolveHandler)(handler));
|
694
|
+
}
|
695
|
+
|
696
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
697
|
+
/**
|
698
|
+
* This function is used to resolve host and service names into a list of
|
699
|
+
* endpoint entries.
|
700
|
+
*
|
701
|
+
* @param host A string identifying a location. May be a descriptive name or
|
702
|
+
* a numeric address string. If an empty string and the passive flag has been
|
703
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
704
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
705
|
+
* will use the loopback address.
|
706
|
+
*
|
707
|
+
* @param service A string identifying the requested service. This may be a
|
708
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
709
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
710
|
+
* number of 0.
|
711
|
+
*
|
712
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
713
|
+
* should be performed. The default flags are suitable for communication with
|
714
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
715
|
+
* available flags.
|
716
|
+
*
|
717
|
+
* @param handler The handler to be called when the resolve operation
|
718
|
+
* completes. Copies will be made of the handler as required. The function
|
719
|
+
* signature of the handler must be:
|
720
|
+
* @code void handler(
|
721
|
+
* const asio::error_code& error, // Result of operation.
|
722
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
723
|
+
* ); @endcode
|
724
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
725
|
+
* not, the handler will not be invoked from within this function. On
|
726
|
+
* immediate completion, invocation of the handler will be performed in a
|
727
|
+
* manner equivalent to using asio::post().
|
728
|
+
*
|
729
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
730
|
+
* the handler.
|
731
|
+
*
|
732
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
733
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
734
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
735
|
+
* resolution is performed using DNS. Operating systems may use additional
|
736
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
737
|
+
*
|
738
|
+
* On POSIX systems, service names are typically defined in the file
|
739
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
740
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
741
|
+
* may use additional locations when resolving service names.
|
742
|
+
*/
|
743
|
+
template <
|
744
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
745
|
+
results_type)) ResolveHandler
|
746
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
747
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
748
|
+
void (asio::error_code, results_type))
|
749
|
+
async_resolve(ASIO_STRING_VIEW_PARAM host,
|
750
|
+
ASIO_STRING_VIEW_PARAM service,
|
751
|
+
resolver_base::flags resolve_flags,
|
752
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
753
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
754
|
+
{
|
755
|
+
basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
|
756
|
+
static_cast<std::string>(service), resolve_flags);
|
757
|
+
|
758
|
+
return asio::async_initiate<ResolveHandler,
|
759
|
+
void (asio::error_code, results_type)>(
|
760
|
+
initiate_async_resolve(this), handler, q);
|
761
|
+
}
|
762
|
+
|
763
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
764
|
+
/**
|
765
|
+
* This function is used to resolve host and service names into a list of
|
766
|
+
* endpoint entries.
|
767
|
+
*
|
768
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
769
|
+
* IPv6 version of an internet protocol.
|
770
|
+
*
|
771
|
+
* @param host A string identifying a location. May be a descriptive name or
|
772
|
+
* a numeric address string. If an empty string and the passive flag has been
|
773
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
774
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
775
|
+
* will use the loopback address.
|
776
|
+
*
|
777
|
+
* @param service A string identifying the requested service. This may be a
|
778
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
779
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
780
|
+
* number of 0.
|
781
|
+
*
|
782
|
+
* @param handler The handler to be called when the resolve operation
|
783
|
+
* completes. Copies will be made of the handler as required. The function
|
784
|
+
* signature of the handler must be:
|
785
|
+
* @code void handler(
|
786
|
+
* const asio::error_code& error, // Result of operation.
|
787
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
788
|
+
* ); @endcode
|
789
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
790
|
+
* not, the handler will not be invoked from within this function. On
|
791
|
+
* immediate completion, invocation of the handler will be performed in a
|
792
|
+
* manner equivalent to using asio::post().
|
793
|
+
*
|
794
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
795
|
+
* the handler.
|
796
|
+
*
|
797
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
798
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
799
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
800
|
+
* resolution is performed using DNS. Operating systems may use additional
|
801
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
802
|
+
*
|
803
|
+
* On POSIX systems, service names are typically defined in the file
|
804
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
805
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
806
|
+
* may use additional locations when resolving service names.
|
807
|
+
*/
|
808
|
+
template <
|
809
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
810
|
+
results_type)) ResolveHandler
|
811
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
812
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
813
|
+
void (asio::error_code, results_type))
|
814
|
+
async_resolve(const protocol_type& protocol,
|
815
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service,
|
816
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
817
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
818
|
+
{
|
819
|
+
return async_resolve(protocol, host, service, resolver_base::flags(),
|
820
|
+
ASIO_MOVE_CAST(ResolveHandler)(handler));
|
821
|
+
}
|
822
|
+
|
823
|
+
/// Asynchronously perform forward resolution of a query to a list of entries.
|
824
|
+
/**
|
825
|
+
* This function is used to resolve host and service names into a list of
|
826
|
+
* endpoint entries.
|
827
|
+
*
|
828
|
+
* @param protocol A protocol object, normally representing either the IPv4 or
|
829
|
+
* IPv6 version of an internet protocol.
|
830
|
+
*
|
831
|
+
* @param host A string identifying a location. May be a descriptive name or
|
832
|
+
* a numeric address string. If an empty string and the passive flag has been
|
833
|
+
* specified, the resolved endpoints are suitable for local service binding.
|
834
|
+
* If an empty string and passive is not specified, the resolved endpoints
|
835
|
+
* will use the loopback address.
|
836
|
+
*
|
837
|
+
* @param service A string identifying the requested service. This may be a
|
838
|
+
* descriptive name or a numeric string corresponding to a port number. May
|
839
|
+
* be an empty string, in which case all resolved endpoints will have a port
|
840
|
+
* number of 0.
|
841
|
+
*
|
842
|
+
* @param resolve_flags A set of flags that determine how name resolution
|
843
|
+
* should be performed. The default flags are suitable for communication with
|
844
|
+
* remote hosts. See the @ref resolver_base documentation for the set of
|
845
|
+
* available flags.
|
846
|
+
*
|
847
|
+
* @param handler The handler to be called when the resolve operation
|
848
|
+
* completes. Copies will be made of the handler as required. The function
|
849
|
+
* signature of the handler must be:
|
850
|
+
* @code void handler(
|
851
|
+
* const asio::error_code& error, // Result of operation.
|
852
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
853
|
+
* ); @endcode
|
854
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
855
|
+
* not, the handler will not be invoked from within this function. On
|
856
|
+
* immediate completion, invocation of the handler will be performed in a
|
857
|
+
* manner equivalent to using asio::post().
|
858
|
+
*
|
859
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
860
|
+
* the handler.
|
861
|
+
*
|
862
|
+
* @note On POSIX systems, host names may be locally defined in the file
|
863
|
+
* <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
|
864
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
|
865
|
+
* resolution is performed using DNS. Operating systems may use additional
|
866
|
+
* locations when resolving host names (such as NETBIOS names on Windows).
|
867
|
+
*
|
868
|
+
* On POSIX systems, service names are typically defined in the file
|
869
|
+
* <tt>/etc/services</tt>. On Windows, service names may be found in the file
|
870
|
+
* <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
|
871
|
+
* may use additional locations when resolving service names.
|
872
|
+
*/
|
873
|
+
template <
|
874
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
875
|
+
results_type)) ResolveHandler
|
876
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
877
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
878
|
+
void (asio::error_code, results_type))
|
879
|
+
async_resolve(const protocol_type& protocol,
|
880
|
+
ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service,
|
881
|
+
resolver_base::flags resolve_flags,
|
882
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
883
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
884
|
+
{
|
885
|
+
basic_resolver_query<protocol_type> q(
|
886
|
+
protocol, static_cast<std::string>(host),
|
887
|
+
static_cast<std::string>(service), resolve_flags);
|
888
|
+
|
889
|
+
return asio::async_initiate<ResolveHandler,
|
890
|
+
void (asio::error_code, results_type)>(
|
891
|
+
initiate_async_resolve(this), handler, q);
|
892
|
+
}
|
893
|
+
|
894
|
+
/// Perform reverse resolution of an endpoint to a list of entries.
|
895
|
+
/**
|
896
|
+
* This function is used to resolve an endpoint into a list of endpoint
|
897
|
+
* entries.
|
898
|
+
*
|
899
|
+
* @param e An endpoint object that determines what endpoints will be
|
900
|
+
* returned.
|
901
|
+
*
|
902
|
+
* @returns A range object representing the list of endpoint entries. A
|
903
|
+
* successful call to this function is guaranteed to return a non-empty
|
904
|
+
* range.
|
905
|
+
*
|
906
|
+
* @throws asio::system_error Thrown on failure.
|
907
|
+
*/
|
908
|
+
results_type resolve(const endpoint_type& e)
|
909
|
+
{
|
910
|
+
asio::error_code ec;
|
911
|
+
results_type i = impl_.get_service().resolve(
|
912
|
+
impl_.get_implementation(), e, ec);
|
913
|
+
asio::detail::throw_error(ec, "resolve");
|
914
|
+
return i;
|
915
|
+
}
|
916
|
+
|
917
|
+
/// Perform reverse resolution of an endpoint to a list of entries.
|
918
|
+
/**
|
919
|
+
* This function is used to resolve an endpoint into a list of endpoint
|
920
|
+
* entries.
|
921
|
+
*
|
922
|
+
* @param e An endpoint object that determines what endpoints will be
|
923
|
+
* returned.
|
924
|
+
*
|
925
|
+
* @param ec Set to indicate what error occurred, if any.
|
926
|
+
*
|
927
|
+
* @returns A range object representing the list of endpoint entries. An
|
928
|
+
* empty range is returned if an error occurs. A successful call to this
|
929
|
+
* function is guaranteed to return a non-empty range.
|
930
|
+
*/
|
931
|
+
results_type resolve(const endpoint_type& e, asio::error_code& ec)
|
932
|
+
{
|
933
|
+
return impl_.get_service().resolve(impl_.get_implementation(), e, ec);
|
934
|
+
}
|
935
|
+
|
936
|
+
/// Asynchronously perform reverse resolution of an endpoint to a list of
|
937
|
+
/// entries.
|
938
|
+
/**
|
939
|
+
* This function is used to asynchronously resolve an endpoint into a list of
|
940
|
+
* endpoint entries.
|
941
|
+
*
|
942
|
+
* @param e An endpoint object that determines what endpoints will be
|
943
|
+
* returned.
|
944
|
+
*
|
945
|
+
* @param handler The handler to be called when the resolve operation
|
946
|
+
* completes. Copies will be made of the handler as required. The function
|
947
|
+
* signature of the handler must be:
|
948
|
+
* @code void handler(
|
949
|
+
* const asio::error_code& error, // Result of operation.
|
950
|
+
* resolver::results_type results // Resolved endpoints as a range.
|
951
|
+
* ); @endcode
|
952
|
+
* Regardless of whether the asynchronous operation completes immediately or
|
953
|
+
* not, the handler will not be invoked from within this function. On
|
954
|
+
* immediate completion, invocation of the handler will be performed in a
|
955
|
+
* manner equivalent to using asio::post().
|
956
|
+
*
|
957
|
+
* A successful resolve operation is guaranteed to pass a non-empty range to
|
958
|
+
* the handler.
|
959
|
+
*/
|
960
|
+
template <
|
961
|
+
ASIO_COMPLETION_TOKEN_FOR(void (asio::error_code,
|
962
|
+
results_type)) ResolveHandler
|
963
|
+
ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
|
964
|
+
ASIO_INITFN_AUTO_RESULT_TYPE(ResolveHandler,
|
965
|
+
void (asio::error_code, results_type))
|
966
|
+
async_resolve(const endpoint_type& e,
|
967
|
+
ASIO_MOVE_ARG(ResolveHandler) handler
|
968
|
+
ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
|
969
|
+
{
|
970
|
+
return asio::async_initiate<ResolveHandler,
|
971
|
+
void (asio::error_code, results_type)>(
|
972
|
+
initiate_async_resolve(this), handler, e);
|
973
|
+
}
|
974
|
+
|
975
|
+
private:
|
976
|
+
// Disallow copying and assignment.
|
977
|
+
basic_resolver(const basic_resolver&) ASIO_DELETED;
|
978
|
+
basic_resolver& operator=(const basic_resolver&) ASIO_DELETED;
|
979
|
+
|
980
|
+
class initiate_async_resolve
|
981
|
+
{
|
982
|
+
public:
|
983
|
+
typedef Executor executor_type;
|
984
|
+
|
985
|
+
explicit initiate_async_resolve(basic_resolver* self)
|
986
|
+
: self_(self)
|
987
|
+
{
|
988
|
+
}
|
989
|
+
|
990
|
+
executor_type get_executor() const ASIO_NOEXCEPT
|
991
|
+
{
|
992
|
+
return self_->get_executor();
|
993
|
+
}
|
994
|
+
|
995
|
+
template <typename ResolveHandler, typename Query>
|
996
|
+
void operator()(ASIO_MOVE_ARG(ResolveHandler) handler,
|
997
|
+
const Query& q) const
|
998
|
+
{
|
999
|
+
// If you get an error on the following line it means that your handler
|
1000
|
+
// does not meet the documented type requirements for a ResolveHandler.
|
1001
|
+
ASIO_RESOLVE_HANDLER_CHECK(
|
1002
|
+
ResolveHandler, handler, results_type) type_check;
|
1003
|
+
|
1004
|
+
asio::detail::non_const_lvalue<ResolveHandler> handler2(handler);
|
1005
|
+
self_->impl_.get_service().async_resolve(
|
1006
|
+
self_->impl_.get_implementation(), q,
|
1007
|
+
handler2.value, self_->impl_.get_executor());
|
1008
|
+
}
|
1009
|
+
|
1010
|
+
private:
|
1011
|
+
basic_resolver* self_;
|
1012
|
+
};
|
1013
|
+
|
1014
|
+
# if defined(ASIO_WINDOWS_RUNTIME)
|
1015
|
+
asio::detail::io_object_impl<
|
1016
|
+
asio::detail::winrt_resolver_service<InternetProtocol>,
|
1017
|
+
Executor> impl_;
|
1018
|
+
# else
|
1019
|
+
asio::detail::io_object_impl<
|
1020
|
+
asio::detail::resolver_service<InternetProtocol>,
|
1021
|
+
Executor> impl_;
|
1022
|
+
# endif
|
1023
|
+
};
|
1024
|
+
|
1025
|
+
} // namespace ip
|
1026
|
+
} // namespace asio
|
1027
|
+
|
1028
|
+
#include "asio/detail/pop_options.hpp"
|
1029
|
+
|
1030
|
+
#endif // ASIO_IP_BASIC_RESOLVER_HPP
|