-Defined if cgosling is built with legacy tor-provider support
+Defined if cgosling is built with arti-client tor-provider support Defined if cgosling is built with legacy tor-provider support
diff --git a/cgosling/cgosling_8h_source.html b/cgosling/cgosling_8h_source.html
index d079dcbb..098129d6 100644
--- a/cgosling/cgosling_8h_source.html
+++ b/cgosling/cgosling_8h_source.html
@@ -92,209 +92,210 @@
25 # include <sys/socket.h>
- 31 #define GOSLING_HAVE_MOCK_TOR_PROVIDER 1
+ 31 #undef GOSLING_HAVE_ARTI_CLIENT_TOR_PROVIDER
35 #define GOSLING_HAVE_LEGACY_TOR_PROVIDER 1
-
- 45 #define TARGET_ADDRESS_STRING_SIZE 260
- 49 #define V3_ONION_SERVICE_ID_STRING_LENGTH 56
- 53 #define V3_ONION_SERVICE_ID_STRING_SIZE 57
- 57 #define ED25519_PRIVATE_KEYBLOB_BASE64_LENGTH 88
- 61 #define ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH 11
- 65 #define ED25519_PRIVATE_KEY_KEYBLOB_LENGTH 99
- 69 #define ED25519_PRIVATE_KEY_KEYBLOB_SIZE 100
- 73 #define X25519_PRIVATE_KEY_BASE64_LENGTH 44
- 77 #define X25519_PRIVATE_KEY_BASE64_SIZE 45
- 81 #define X25519_PUBLIC_KEY_BASE32_LENGTH 52
- 85 #define X25519_PUBLIC_KEY_BASE32_SIZE 53
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ 39 #define GOSLING_HAVE_MOCK_TOR_PROVIDER 1
+
+ 49 #define TARGET_ADDRESS_STRING_SIZE 260
+ 53 #define V3_ONION_SERVICE_ID_STRING_LENGTH 56
+ 57 #define V3_ONION_SERVICE_ID_STRING_SIZE 57
+ 61 #define ED25519_PRIVATE_KEYBLOB_BASE64_LENGTH 88
+ 65 #define ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH 11
+ 69 #define ED25519_PRIVATE_KEY_KEYBLOB_LENGTH 99
+ 73 #define ED25519_PRIVATE_KEY_KEYBLOB_SIZE 100
+ 77 #define X25519_PRIVATE_KEY_BASE64_LENGTH 44
+ 81 #define X25519_PRIVATE_KEY_BASE64_SIZE 45
+ 85 #define X25519_PUBLIC_KEY_BASE32_LENGTH 52
+ 89 #define X25519_PUBLIC_KEY_BASE32_SIZE 53
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-void(* gosling_identity_client_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:298
+
+
+
+
+
+void(* gosling_identity_client_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:302
void gosling_target_address_from_string(gosling_target_address **out_target_address, const char *target_address, size_t target_address_length, gosling_error **error)
-@ ed25519_private_key_keyblob_header_length
Definition: cgosling.h:115
-@ ed25519_private_key_keyblob_length
Definition: cgosling.h:119
-@ v3_onion_service_id_string_length
Definition: cgosling.h:103
-@ x25519_private_key_base64_length
Definition: cgosling.h:127
-@ x25519_public_key_base32_size
Definition: cgosling.h:139
-@ v3_onion_service_id_string_size
Definition: cgosling.h:107
-@ target_address_string_size
Definition: cgosling.h:99
-@ ed25519_private_keyblob_base64_length
Definition: cgosling.h:111
-@ x25519_private_key_base64_size
Definition: cgosling.h:131
-@ x25519_public_key_base32_length
Definition: cgosling.h:135
-@ ed25519_private_key_keyblob_size
Definition: cgosling.h:123
-struct gosling_x25519_public_key gosling_x25519_public_key
Definition: cgosling.h:197
+@ ed25519_private_key_keyblob_header_length
Definition: cgosling.h:119
+@ ed25519_private_key_keyblob_length
Definition: cgosling.h:123
+@ v3_onion_service_id_string_length
Definition: cgosling.h:107
+@ x25519_private_key_base64_length
Definition: cgosling.h:131
+@ x25519_public_key_base32_size
Definition: cgosling.h:143
+@ v3_onion_service_id_string_size
Definition: cgosling.h:111
+@ target_address_string_size
Definition: cgosling.h:103
+@ ed25519_private_keyblob_base64_length
Definition: cgosling.h:115
+@ x25519_private_key_base64_size
Definition: cgosling.h:135
+@ x25519_public_key_base32_length
Definition: cgosling.h:139
+@ ed25519_private_key_keyblob_size
Definition: cgosling.h:127
+struct gosling_x25519_public_key gosling_x25519_public_key
Definition: cgosling.h:201
gosling_circuit_token_t gosling_context_generate_circuit_token(gosling_context *context, gosling_error **error)
void gosling_context_set_identity_server_handshake_failed_callback(gosling_context *context, gosling_identity_server_handshake_failed_callback_t callback, gosling_error **error)
-void(* gosling_endpoint_server_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:525
+void(* gosling_endpoint_server_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:529
void gosling_context_connect(gosling_context *context, gosling_tcp_socket_t *out_tcp_socket, const gosling_target_address *target_address, gosling_circuit_token_t circuit_token, gosling_error **error)
-int gosling_tcp_socket_t
Definition: cgosling.h:205
-size_t gosling_circuit_token_t
Definition: cgosling.h:209
+int gosling_tcp_socket_t
Definition: cgosling.h:209
+size_t gosling_circuit_token_t
Definition: cgosling.h:213
void gosling_x25519_public_key_from_base32(gosling_x25519_public_key **out_public_key, const char *base32, size_t base32_length, gosling_error **error)
-void(* gosling_identity_server_handshake_started_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:314
+void(* gosling_identity_server_handshake_started_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:318
void gosling_tor_provider_config_set_proxy_config(gosling_tor_provider_config *tor_provider_config, const gosling_proxy_config *proxy_config, gosling_error **error)
const char * gosling_error_get_message(const gosling_error *error)
void gosling_error_clone(gosling_error **out_error, const gosling_error *orig_error, gosling_error **error)
-struct gosling_ed25519_private_key gosling_ed25519_private_key
Definition: cgosling.h:153
+struct gosling_ed25519_private_key gosling_ed25519_private_key
Definition: cgosling.h:157
void gosling_proxy_config_new_socks4(gosling_proxy_config **out_proxy_config, const gosling_target_address *proxy_address, gosling_error **error)
void gosling_v3_onion_service_id_from_ed25519_private_key(gosling_v3_onion_service_id **out_service_id, const gosling_ed25519_private_key *ed25519_private_key, gosling_error **error)
void gosling_proxy_config_new_https(gosling_proxy_config **out_proxy_config, const gosling_target_address *proxy_address, const char *username, size_t username_length, const char *password, size_t password_length, gosling_error **error)
@@ -305,36 +306,36 @@
void gosling_target_address_free(gosling_target_address *in_target_address)
void gosling_library_init(gosling_library **out_library, gosling_error **error)
void gosling_v3_onion_service_id_to_string(const gosling_v3_onion_service_id *service_id, char *out_service_id_string, size_t service_id_string_size, gosling_error **error)
-bool(* gosling_endpoint_server_channel_supported_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *client_service_id, const char *channel_name, size_t channel_name_length)
Definition: cgosling.h:485
+bool(* gosling_endpoint_server_channel_supported_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *client_service_id, const char *channel_name, size_t channel_name_length)
Definition: cgosling.h:489
void gosling_v3_onion_service_id_from_string(gosling_v3_onion_service_id **out_service_id, const char *service_id_string, size_t service_id_string_length, gosling_error **error)
void gosling_v3_onion_service_id_free(gosling_v3_onion_service_id *in_service_id)
-struct gosling_proxy_config gosling_proxy_config
Definition: cgosling.h:173
+struct gosling_proxy_config gosling_proxy_config
Definition: cgosling.h:177
void gosling_x25519_private_key_clone(gosling_x25519_private_key **out_private_key, const gosling_x25519_private_key *private_key, gosling_error **error)
void gosling_context_set_endpoint_server_channel_supported_callback(gosling_context *context, gosling_endpoint_server_channel_supported_callback_t callback, gosling_error **error)
-void(* gosling_identity_server_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:423
-struct gosling_ip_address gosling_ip_address
Definition: cgosling.h:161
-struct gosling_context gosling_context
Definition: cgosling.h:149
-void(* gosling_identity_client_handshake_build_challenge_response_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_buffer, size_t challenge_buffer_size, uint8_t *out_challenge_response_buffer, size_t out_challenge_response_buffer_size)
Definition: cgosling.h:271
+void(* gosling_identity_server_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:427
+struct gosling_ip_address gosling_ip_address
Definition: cgosling.h:165
+struct gosling_context gosling_context
Definition: cgosling.h:153
+void(* gosling_identity_client_handshake_build_challenge_response_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_buffer, size_t challenge_buffer_size, uint8_t *out_challenge_response_buffer, size_t out_challenge_response_buffer_size)
Definition: cgosling.h:275
void gosling_context_set_endpoint_server_handshake_started_callback(gosling_context *context, gosling_endpoint_server_handshake_started_callback_t callback, gosling_error **error)
void gosling_tor_provider_config_new_bundled_legacy_client_config(gosling_tor_provider_config **out_tor_provider_config, const char *tor_bin_path, size_t tor_bin_path_length, const char *tor_working_directory, size_t tor_working_directory_length, gosling_error **error)
void gosling_context_set_endpoint_server_published_callback(gosling_context *context, gosling_endpoint_server_published_callback_t callback, gosling_error **error)
void gosling_library_free(gosling_library *in_library)
-void(* gosling_endpoint_client_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *endpoint_service_id, const char *channel_name, size_t channel_name_length, gosling_tcp_socket_t stream)
Definition: cgosling.h:439
+void(* gosling_endpoint_client_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *endpoint_service_id, const char *channel_name, size_t channel_name_length, gosling_tcp_socket_t stream)
Definition: cgosling.h:443
void gosling_proxy_config_free(gosling_proxy_config *in_proxy_config)
-bool(* gosling_identity_server_endpoint_supported_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const char *endpoint_name, size_t endpoint_name_length)
Definition: cgosling.h:342
+bool(* gosling_identity_server_endpoint_supported_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const char *endpoint_name, size_t endpoint_name_length)
Definition: cgosling.h:346
void gosling_ip_address_clone(gosling_ip_address **out_ip_address, const gosling_ip_address *ip_address, gosling_error **error)
-void(* gosling_endpoint_client_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:448
+void(* gosling_endpoint_client_handshake_failed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_error *error)
Definition: cgosling.h:452
void gosling_context_stop_identity_server(gosling_context *context, gosling_error **error)
void gosling_tor_provider_free(gosling_tor_provider *in_tor_provider)
void gosling_context_set_tor_bootstrap_completed_callback(gosling_context *context, gosling_tor_bootstrap_completed_callback_t callback, gosling_error **error)
void gosling_tor_provider_config_add_pluggable_transport_config(gosling_tor_provider_config *tor_provider_config, const gosling_pluggable_transport_config *pluggable_transport_config, gosling_error **error)
-void(* gosling_endpoint_server_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *endpoint_service_id, const gosling_v3_onion_service_id *client_service_id, const char *channel_name, size_t channel_name_length, gosling_tcp_socket_t stream)
Definition: cgosling.h:502
+void(* gosling_endpoint_server_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *endpoint_service_id, const gosling_v3_onion_service_id *client_service_id, const char *channel_name, size_t channel_name_length, gosling_tcp_socket_t stream)
Definition: cgosling.h:506
void gosling_context_set_identity_server_challenge_size_callback(gosling_context *context, gosling_identity_server_handshake_challenge_size_callback_t callback, gosling_error **error)
-size_t gosling_handshake_handle_t
Definition: cgosling.h:201
-struct gosling_bridge_line gosling_bridge_line
Definition: cgosling.h:145
+size_t gosling_handshake_handle_t
Definition: cgosling.h:205
+struct gosling_bridge_line gosling_bridge_line
Definition: cgosling.h:149
void gosling_context_set_identity_client_handshake_completed_callback(gosling_context *context, gosling_identity_client_handshake_completed_callback_t callback, gosling_error **error)
void gosling_context_set_identity_server_handshake_rejected_callback(gosling_context *context, gosling_identity_server_handshake_rejected_callback_t callback, gosling_error **error)
-void(* gosling_identity_server_handshake_rejected_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, bool client_allowed, bool client_requested_endpoint_valid, bool client_proof_signature_valid, bool client_auth_signature_valid, bool challenge_response_valid)
Definition: cgosling.h:414
+void(* gosling_identity_server_handshake_rejected_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, bool client_allowed, bool client_requested_endpoint_valid, bool client_proof_signature_valid, bool client_auth_signature_valid, bool challenge_response_valid)
Definition: cgosling.h:418
void gosling_pluggable_transport_config_free(gosling_pluggable_transport_config *in_pluggable_transport_config)
void gosling_x25519_public_key_free(gosling_x25519_public_key *in_public_key)
void gosling_bridge_line_free(gosling_bridge_line *in_bridge_line)
@@ -342,7 +343,7 @@
void gosling_x25519_private_key_to_base64(const gosling_x25519_private_key *private_key, char *out_base64, size_t base64_size, gosling_error **error)
void gosling_context_set_identity_server_published_callback(gosling_context *context, gosling_identity_server_published_callback_t callback, gosling_error **error)
void gosling_ed25519_private_key_free(gosling_ed25519_private_key *in_private_key)
-struct gosling_target_address gosling_target_address
Definition: cgosling.h:177
+struct gosling_target_address gosling_target_address
Definition: cgosling.h:181
void gosling_pluggable_transport_config_new(gosling_pluggable_transport_config **out_pluggable_transport_config, const char *transports, size_t transports_length, const char *path_to_binary, size_t path_to_binary_length, gosling_error **error)
void gosling_ed25519_private_key_generate(gosling_ed25519_private_key **out_private_key, gosling_error **error)
void gosling_context_set_identity_client_challenge_response_size_callback(gosling_context *context, gosling_identity_client_handshake_challenge_response_size_callback_t callback, gosling_error **error)
@@ -356,63 +357,63 @@
void gosling_context_set_identity_server_build_challenge_callback(gosling_context *context, gosling_identity_server_handshake_build_challenge_callback_t callback, gosling_error **error)
void gosling_target_address_from_v3_onion_service_id(gosling_target_address **out_target_address, const gosling_v3_onion_service_id *service_id, uint16_t port, gosling_error **error)
void gosling_ed25519_private_key_from_keyblob(gosling_ed25519_private_key **out_private_key, const char *key_blob, size_t key_blob_length, gosling_error **error)
-void(* gosling_identity_server_published_callback_t)(gosling_context *context)
Definition: cgosling.h:306
+void(* gosling_identity_server_published_callback_t)(gosling_context *context)
Definition: cgosling.h:310
void gosling_context_set_identity_client_build_challenge_response_callback(gosling_context *context, gosling_identity_client_handshake_build_challenge_response_callback_t callback, gosling_error **error)
-struct gosling_pluggable_transport_config gosling_pluggable_transport_config
Definition: cgosling.h:169
-bool(* gosling_identity_server_handshake_client_allowed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *client_service_id)
Definition: cgosling.h:326
+struct gosling_pluggable_transport_config gosling_pluggable_transport_config
Definition: cgosling.h:173
+bool(* gosling_identity_server_handshake_client_allowed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *client_service_id)
Definition: cgosling.h:330
void gosling_x25519_private_key_free(gosling_x25519_private_key *in_private_key)
-void(* gosling_identity_client_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *identity_service_id, const gosling_v3_onion_service_id *endpoint_service_id, const char *endpoint_name, size_t endpoint_name_length, const gosling_x25519_private_key *client_auth_private_key)
Definition: cgosling.h:289
+void(* gosling_identity_client_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_v3_onion_service_id *identity_service_id, const gosling_v3_onion_service_id *endpoint_service_id, const char *endpoint_name, size_t endpoint_name_length, const gosling_x25519_private_key *client_auth_private_key)
Definition: cgosling.h:293
void gosling_context_set_tor_bootstrap_status_received_callback(gosling_context *context, gosling_tor_bootstrap_status_received_callback_t callback, gosling_error **error)
void gosling_ip_address_free(gosling_ip_address *in_ip_address)
void gosling_x25519_private_key_from_base64(gosling_x25519_private_key **out_private_key, const char *base64, size_t base64_length, gosling_error **error)
void gosling_context_set_endpoint_client_handshake_failed_callback(gosling_context *context, gosling_endpoint_client_handshake_failed_callback_t callback, gosling_error **error)
-void(* gosling_tor_bootstrap_completed_callback_t)(gosling_context *context)
Definition: cgosling.h:230
+void(* gosling_tor_bootstrap_completed_callback_t)(gosling_context *context)
Definition: cgosling.h:234
void gosling_ed25519_private_key_to_keyblob(const gosling_ed25519_private_key *private_key, char *out_key_blob, size_t key_blob_size, gosling_error **error)
void gosling_context_set_endpoint_server_handshake_failed_callback(gosling_context *context, gosling_endpoint_server_handshake_failed_callback_t callback, gosling_error **error)
void gosling_target_address_clone(gosling_target_address **out_target_address, const gosling_target_address *target_address, gosling_error **error)
void gosling_x25519_public_key_clone(gosling_x25519_public_key **out_public_key, const gosling_x25519_public_key *public_key, gosling_error **error)
-struct gosling_tor_provider gosling_tor_provider
Definition: cgosling.h:181
+struct gosling_tor_provider gosling_tor_provider
Definition: cgosling.h:185
void gosling_tor_provider_config_add_bridge_line(gosling_tor_provider_config *tor_provider_config, const gosling_bridge_line *bridge_line, gosling_error **error)
void gosling_context_poll_events(gosling_context *context, gosling_error **error)
void gosling_context_set_identity_server_handshake_started_callback(gosling_context *context, gosling_identity_server_handshake_started_callback_t callback, gosling_error **error)
void gosling_ip_address_from_ipv6(gosling_ip_address **out_ip_address, uint16_t a, uint16_t b, uint16_t c, uint16_t d, uint16_t e, uint16_t f, uint16_t g, uint16_t h, gosling_error **error)
void gosling_tor_provider_config_free(gosling_tor_provider_config *in_tor_provider_config)
void gosling_context_set_endpoint_client_handshake_completed_callback(gosling_context *context, gosling_endpoint_client_handshake_completed_callback_t callback, gosling_error **error)
-void(* gosling_endpoint_server_published_callback_t)(gosling_context *context, const gosling_v3_onion_service_id *endpoint_service_id, const char *endpoint_name, size_t endpoint_name_length)
Definition: cgosling.h:460
+void(* gosling_endpoint_server_published_callback_t)(gosling_context *context, const gosling_v3_onion_service_id *endpoint_service_id, const char *endpoint_name, size_t endpoint_name_length)
Definition: cgosling.h:464
void gosling_context_free(gosling_context *in_context)
bool gosling_string_is_valid_v3_onion_service_id(const char *service_id_string, size_t service_id_string_length, gosling_error **error)
void gosling_tor_provider_config_new_system_legacy_client_config(gosling_tor_provider_config **out_tor_provider_config, const gosling_ip_address *tor_socks_host, uint16_t tor_socks_port, const gosling_ip_address *tor_control_host, uint16_t tor_control_port, const char *tor_control_passwd, size_t tor_control_passwd_length, gosling_error **error)
void gosling_context_set_endpoint_server_handshake_rejected_callback(gosling_context *context, gosling_endpoint_server_handshake_rejected_callback_t callback, gosling_error **error)
void gosling_context_release_circuit_token(gosling_context *context, gosling_circuit_token_t circuit_token, gosling_error **error)
void gosling_context_stop_endpoint_server(gosling_context *context, const gosling_ed25519_private_key *endpoint_private_key, gosling_error **error)
-bool(* gosling_identity_server_handshake_verify_challenge_response_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_response_buffer, size_t challenge_response_buffer_size)
Definition: cgosling.h:378
-struct gosling_tor_provider_config gosling_tor_provider_config
Definition: cgosling.h:185
-void(* gosling_endpoint_server_handshake_started_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:468
+bool(* gosling_identity_server_handshake_verify_challenge_response_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_response_buffer, size_t challenge_response_buffer_size)
Definition: cgosling.h:382
+struct gosling_tor_provider_config gosling_tor_provider_config
Definition: cgosling.h:189
+void(* gosling_endpoint_server_handshake_started_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:472
void gosling_proxy_config_new_socks5(gosling_proxy_config **out_proxy_config, const gosling_target_address *proxy_address, const char *username, size_t username_length, const char *password, size_t password_length, gosling_error **error)
void gosling_ip_address_from_ipv4(gosling_ip_address **out_ip_address, uint8_t a, uint8_t b, uint8_t c, uint8_t d, gosling_error **error)
-void(* gosling_identity_server_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_ed25519_private_key *endpoint_private_key, const char *endpoint_name, size_t endpoint_name_length, const gosling_v3_onion_service_id *client_service_id, const gosling_x25519_public_key *client_auth_public_key)
Definition: cgosling.h:396
+void(* gosling_identity_server_handshake_completed_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const gosling_ed25519_private_key *endpoint_private_key, const char *endpoint_name, size_t endpoint_name_length, const gosling_v3_onion_service_id *client_service_id, const gosling_x25519_public_key *client_auth_public_key)
Definition: cgosling.h:400
void gosling_pluggable_transport_config_add_cmdline_option(gosling_pluggable_transport_config *pluggable_transport_config, const char *option, size_t option_length, gosling_error **error)
void gosling_context_set_identity_server_handshake_completed_callback(gosling_context *context, gosling_identity_server_handshake_completed_callback_t callback, gosling_error **error)
void gosling_bridge_line_from_string(gosling_bridge_line **out_bridge_line, const char *bridge_line, size_t bridge_line_length, gosling_error **error)
void gosling_x25519_public_key_to_base32(const gosling_x25519_public_key *public_key, char *out_base32, size_t base32_size, gosling_error **error)
-void(* gosling_identity_server_handshake_build_challenge_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, uint8_t *out_challenge_buffer, size_t out_challenge_buffer_size)
Definition: cgosling.h:364
-size_t(* gosling_identity_client_handshake_challenge_response_size_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_buffer, size_t challenge_buffer_size)
Definition: cgosling.h:254
+void(* gosling_identity_server_handshake_build_challenge_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, uint8_t *out_challenge_buffer, size_t out_challenge_buffer_size)
Definition: cgosling.h:368
+size_t(* gosling_identity_client_handshake_challenge_response_size_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, const uint8_t *challenge_buffer, size_t challenge_buffer_size)
Definition: cgosling.h:258
void gosling_ed25519_private_key_clone(gosling_ed25519_private_key **out_private_key, const gosling_ed25519_private_key *private_key, gosling_error **error)
-size_t(* gosling_identity_server_handshake_challenge_size_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:352
-void(* gosling_tor_log_received_callback_t)(gosling_context *context, const char *line, size_t line_length)
Definition: cgosling.h:239
-struct gosling_library gosling_library
Definition: cgosling.h:165
+size_t(* gosling_identity_server_handshake_challenge_size_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle)
Definition: cgosling.h:356
+void(* gosling_tor_log_received_callback_t)(gosling_context *context, const char *line, size_t line_length)
Definition: cgosling.h:243
+struct gosling_library gosling_library
Definition: cgosling.h:169
void gosling_context_start_endpoint_server(gosling_context *context, const gosling_ed25519_private_key *endpoint_private_key, const char *endpoint_name, size_t endpoint_name_length, const gosling_v3_onion_service_id *client_identity, const gosling_x25519_public_key *client_auth_public_key, gosling_error **error)
void gosling_v3_onion_service_id_clone(gosling_v3_onion_service_id **out_service_id, const gosling_v3_onion_service_id *service_id, gosling_error **error)
void gosling_context_set_identity_client_handshake_failed_callback(gosling_context *context, gosling_identity_client_handshake_failed_callback_t callback, gosling_error **error)
void gosling_context_bootstrap_tor(gosling_context *context, gosling_error **error)
-struct gosling_x25519_private_key gosling_x25519_private_key
Definition: cgosling.h:193
+struct gosling_x25519_private_key gosling_x25519_private_key
Definition: cgosling.h:197
void gosling_tor_provider_from_tor_provider_config(gosling_tor_provider **out_tor_provider, const gosling_tor_provider_config *tor_provider_config, gosling_error **error)
-void(* gosling_tor_bootstrap_status_received_callback_t)(gosling_context *context, uint32_t progress, const char *tag, size_t tag_length, const char *summary, size_t summary_length)
Definition: cgosling.h:223
+void(* gosling_tor_bootstrap_status_received_callback_t)(gosling_context *context, uint32_t progress, const char *tag, size_t tag_length, const char *summary, size_t summary_length)
Definition: cgosling.h:227
void gosling_context_set_identity_server_client_allowed_callback(gosling_context *context, gosling_identity_server_handshake_client_allowed_callback_t callback, gosling_error **error)
void gosling_target_address_from_ip_address(gosling_target_address **out_target_address, const gosling_ip_address *ip_address, uint16_t port, gosling_error **error)
-struct gosling_v3_onion_service_id gosling_v3_onion_service_id
Definition: cgosling.h:189
-struct gosling_error gosling_error
Definition: cgosling.h:157
-void(* gosling_endpoint_server_handshake_rejected_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, bool client_allowed, bool client_requested_channel_valid, bool client_proof_signature_valid)
Definition: cgosling.h:516
+struct gosling_v3_onion_service_id gosling_v3_onion_service_id
Definition: cgosling.h:193
+struct gosling_error gosling_error
Definition: cgosling.h:161
+void(* gosling_endpoint_server_handshake_rejected_callback_t)(gosling_context *context, gosling_handshake_handle_t handshake_handle, bool client_allowed, bool client_requested_channel_valid, bool client_proof_signature_valid)
Definition: cgosling.h:520
gosling_handshake_handle_t gosling_context_begin_endpoint_handshake(gosling_context *context, const gosling_v3_onion_service_id *endpoint_service_id, const gosling_x25519_private_key *client_auth_private_key, const char *channel_name, size_t channel_name_length, gosling_error **error)
void gosling_context_set_identity_server_endpoint_supported_callback(gosling_context *context, gosling_identity_server_endpoint_supported_callback_t callback, gosling_error **error)
void gosling_context_set_identity_server_verify_challenge_response_callback(gosling_context *context, gosling_identity_server_handshake_verify_challenge_response_callback_t callback, gosling_error **error)
diff --git a/cgosling/cgosling_8hpp_source.html b/cgosling/cgosling_8hpp_source.html
index f0d13ccc..23786a8b 100644
--- a/cgosling/cgosling_8hpp_source.html
+++ b/cgosling/cgosling_8hpp_source.html
@@ -325,45 +325,45 @@
-struct gosling_x25519_public_key gosling_x25519_public_key
Definition: cgosling.h:197
-#define X25519_PRIVATE_KEY_BASE64_SIZE
Definition: cgosling.h:77
+struct gosling_x25519_public_key gosling_x25519_public_key
Definition: cgosling.h:201
+#define X25519_PRIVATE_KEY_BASE64_SIZE
Definition: cgosling.h:81
const char * gosling_error_get_message(const gosling_error *error)
-struct gosling_ed25519_private_key gosling_ed25519_private_key
Definition: cgosling.h:153
+struct gosling_ed25519_private_key gosling_ed25519_private_key
Definition: cgosling.h:157
void gosling_error_free(gosling_error *error)
void gosling_target_address_free(gosling_target_address *in_target_address)
void gosling_v3_onion_service_id_to_string(const gosling_v3_onion_service_id *service_id, char *out_service_id_string, size_t service_id_string_size, gosling_error **error)
void gosling_v3_onion_service_id_free(gosling_v3_onion_service_id *in_service_id)
-struct gosling_proxy_config gosling_proxy_config
Definition: cgosling.h:173
-struct gosling_ip_address gosling_ip_address
Definition: cgosling.h:161
-struct gosling_context gosling_context
Definition: cgosling.h:149
+struct gosling_proxy_config gosling_proxy_config
Definition: cgosling.h:177
+struct gosling_ip_address gosling_ip_address
Definition: cgosling.h:165
+struct gosling_context gosling_context
Definition: cgosling.h:153
void gosling_library_free(gosling_library *in_library)
void gosling_proxy_config_free(gosling_proxy_config *in_proxy_config)
void gosling_tor_provider_free(gosling_tor_provider *in_tor_provider)
-#define TARGET_ADDRESS_STRING_SIZE
Definition: cgosling.h:45
-struct gosling_bridge_line gosling_bridge_line
Definition: cgosling.h:145
+#define TARGET_ADDRESS_STRING_SIZE
Definition: cgosling.h:49
+struct gosling_bridge_line gosling_bridge_line
Definition: cgosling.h:149
void gosling_pluggable_transport_config_free(gosling_pluggable_transport_config *in_pluggable_transport_config)
-#define V3_ONION_SERVICE_ID_STRING_SIZE
Definition: cgosling.h:53
+#define V3_ONION_SERVICE_ID_STRING_SIZE
Definition: cgosling.h:57
void gosling_x25519_public_key_free(gosling_x25519_public_key *in_public_key)
void gosling_bridge_line_free(gosling_bridge_line *in_bridge_line)
void gosling_x25519_private_key_to_base64(const gosling_x25519_private_key *private_key, char *out_base64, size_t base64_size, gosling_error **error)
void gosling_ed25519_private_key_free(gosling_ed25519_private_key *in_private_key)
-struct gosling_target_address gosling_target_address
Definition: cgosling.h:177
+struct gosling_target_address gosling_target_address
Definition: cgosling.h:181
void gosling_target_address_to_string(const gosling_target_address *target_address, char *out_target_address_string, size_t target_address_string_size, gosling_error **error)
-struct gosling_pluggable_transport_config gosling_pluggable_transport_config
Definition: cgosling.h:169
+struct gosling_pluggable_transport_config gosling_pluggable_transport_config
Definition: cgosling.h:173
void gosling_x25519_private_key_free(gosling_x25519_private_key *in_private_key)
void gosling_ip_address_free(gosling_ip_address *in_ip_address)
void gosling_ed25519_private_key_to_keyblob(const gosling_ed25519_private_key *private_key, char *out_key_blob, size_t key_blob_size, gosling_error **error)
-#define ED25519_PRIVATE_KEY_KEYBLOB_SIZE
Definition: cgosling.h:69
-struct gosling_tor_provider gosling_tor_provider
Definition: cgosling.h:181
+#define ED25519_PRIVATE_KEY_KEYBLOB_SIZE
Definition: cgosling.h:73
+struct gosling_tor_provider gosling_tor_provider
Definition: cgosling.h:185
void gosling_tor_provider_config_free(gosling_tor_provider_config *in_tor_provider_config)
void gosling_context_free(gosling_context *in_context)
-#define X25519_PUBLIC_KEY_BASE32_SIZE
Definition: cgosling.h:85
-struct gosling_tor_provider_config gosling_tor_provider_config
Definition: cgosling.h:185
+#define X25519_PUBLIC_KEY_BASE32_SIZE
Definition: cgosling.h:89
+struct gosling_tor_provider_config gosling_tor_provider_config
Definition: cgosling.h:189
void gosling_x25519_public_key_to_base32(const gosling_x25519_public_key *public_key, char *out_base32, size_t base32_size, gosling_error **error)
-struct gosling_library gosling_library
Definition: cgosling.h:165
-struct gosling_x25519_private_key gosling_x25519_private_key
Definition: cgosling.h:193
-struct gosling_v3_onion_service_id gosling_v3_onion_service_id
Definition: cgosling.h:189
-struct gosling_error gosling_error
Definition: cgosling.h:157
+struct gosling_library gosling_library
Definition: cgosling.h:169
+struct gosling_x25519_private_key gosling_x25519_private_key
Definition: cgosling.h:197
+struct gosling_v3_onion_service_id gosling_v3_onion_service_id
Definition: cgosling.h:193
+struct gosling_error gosling_error
Definition: cgosling.h:161
Definition: cgosling.hpp:40
out_unique_ptr & operator=(out_unique_ptr &&)=delete
diff --git a/cgosling/globals.html b/cgosling/globals.html
index 4ac9c56b..583a2f22 100644
--- a/cgosling/globals.html
+++ b/cgosling/globals.html
@@ -64,24 +64,24 @@
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
- e -
-ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH
-: cgosling.h
-
ed25519_private_key_keyblob_header_length
: cgosling.h
-ED25519_PRIVATE_KEY_KEYBLOB_LENGTH
-: cgosling.h
+ ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH
+: cgosling.h
ed25519_private_key_keyblob_length
: cgosling.h
-ED25519_PRIVATE_KEY_KEYBLOB_SIZE
-: cgosling.h
+ ED25519_PRIVATE_KEY_KEYBLOB_LENGTH
+: cgosling.h
ed25519_private_key_keyblob_size
: cgosling.h
+ED25519_PRIVATE_KEY_KEYBLOB_SIZE
+: cgosling.h
+
ed25519_private_keyblob_base64_length
: cgosling.h
@@ -510,22 +510,22 @@ - g -
- t -
- v -
-V3_ONION_SERVICE_ID_STRING_LENGTH
-: cgosling.h
-
v3_onion_service_id_string_length
: cgosling.h
+V3_ONION_SERVICE_ID_STRING_LENGTH
+: cgosling.h
+
V3_ONION_SERVICE_ID_STRING_SIZE
: cgosling.h
diff --git a/cgosling/search/all_2.js b/cgosling/search/all_2.js
index 6b10c30a..64ae23b3 100644
--- a/cgosling/search/all_2.js
+++ b/cgosling/search/all_2.js
@@ -1,11 +1,11 @@
var searchData=
[
- ['ed25519_5fprivate_5fkey_5fkeyblob_5fheader_5flength_16',['ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH',['../cgosling_8h.html#a9e0fae1b8685ce93835ed143fc7e1d2a',1,'cgosling.h']]],
- ['ed25519_5fprivate_5fkey_5fkeyblob_5fheader_5flength_17',['ed25519_private_key_keyblob_header_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2bdeef9132e41a40c205a660b3c45fa6',1,'cgosling.h']]],
- ['ed25519_5fprivate_5fkey_5fkeyblob_5flength_18',['ED25519_PRIVATE_KEY_KEYBLOB_LENGTH',['../cgosling_8h.html#ae9007b1198f173b4f06149b496f0f20b',1,'cgosling.h']]],
- ['ed25519_5fprivate_5fkey_5fkeyblob_5flength_19',['ed25519_private_key_keyblob_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba72b94a6c7bcbcd29921e4f4e09ad3354',1,'cgosling.h']]],
- ['ed25519_5fprivate_5fkey_5fkeyblob_5fsize_20',['ED25519_PRIVATE_KEY_KEYBLOB_SIZE',['../cgosling_8h.html#aa53f12e84ddf6828e874198cc62542f5',1,'cgosling.h']]],
- ['ed25519_5fprivate_5fkey_5fkeyblob_5fsize_21',['ed25519_private_key_keyblob_size',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55bafa9fc8c28adb484dc30f815245d88822',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5fheader_5flength_16',['ed25519_private_key_keyblob_header_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba2bdeef9132e41a40c205a660b3c45fa6',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5fheader_5flength_17',['ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH',['../cgosling_8h.html#a9e0fae1b8685ce93835ed143fc7e1d2a',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5flength_18',['ed25519_private_key_keyblob_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba72b94a6c7bcbcd29921e4f4e09ad3354',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5flength_19',['ED25519_PRIVATE_KEY_KEYBLOB_LENGTH',['../cgosling_8h.html#ae9007b1198f173b4f06149b496f0f20b',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5fsize_20',['ed25519_private_key_keyblob_size',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55bafa9fc8c28adb484dc30f815245d88822',1,'cgosling.h']]],
+ ['ed25519_5fprivate_5fkey_5fkeyblob_5fsize_21',['ED25519_PRIVATE_KEY_KEYBLOB_SIZE',['../cgosling_8h.html#aa53f12e84ddf6828e874198cc62542f5',1,'cgosling.h']]],
['ed25519_5fprivate_5fkeyblob_5fbase64_5flength_22',['ed25519_private_keyblob_base64_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55bac028fb5e6398b3952cc0b620f06577c4',1,'cgosling.h']]],
['ed25519_5fprivate_5fkeyblob_5fbase64_5flength_23',['ED25519_PRIVATE_KEYBLOB_BASE64_LENGTH',['../cgosling_8h.html#a44123fee821f5cfd09010243368f38e0',1,'cgosling.h']]]
];
diff --git a/cgosling/search/all_6.js b/cgosling/search/all_6.js
index c1c93c06..dcf55c12 100644
--- a/cgosling/search/all_6.js
+++ b/cgosling/search/all_6.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['target_5faddress_5fstring_5fsize_171',['TARGET_ADDRESS_STRING_SIZE',['../cgosling_8h.html#a60dfe3204dbd8bd5fbb0e17e1148e255',1,'cgosling.h']]],
- ['target_5faddress_5fstring_5fsize_172',['target_address_string_size',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55baaad1b21d8e287e8248f3d95a050b28b3',1,'cgosling.h']]],
+ ['target_5faddress_5fstring_5fsize_171',['target_address_string_size',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55baaad1b21d8e287e8248f3d95a050b28b3',1,'cgosling.h']]],
+ ['target_5faddress_5fstring_5fsize_172',['TARGET_ADDRESS_STRING_SIZE',['../cgosling_8h.html#a60dfe3204dbd8bd5fbb0e17e1148e255',1,'cgosling.h']]],
['throw_5fon_5ferror_173',['throw_on_error',['../classgosling_1_1throw__on__error.html',1,'gosling']]],
['to_5fstring_174',['to_string',['../namespacegosling.html#a819d5fc41dfcdee8d2276c3f48a95cc4',1,'gosling::to_string(const gosling_ed25519_private_key *obj)'],['../namespacegosling.html#a5dae0ea201be229a16fd93c406b15e30',1,'gosling::to_string(const gosling_x25519_private_key *obj)'],['../namespacegosling.html#afb1fe3ea6ea33acd312d5c2c5e534ab5',1,'gosling::to_string(const gosling_x25519_public_key *obj)'],['../namespacegosling.html#aaebd052a85c3a290ed63bb2250fc1a2e',1,'gosling::to_string(const gosling_v3_onion_service_id *obj)'],['../namespacegosling.html#af745a9b40e5475e869ca4c8befa743eb',1,'gosling::to_string(const gosling_target_address *obj)']]]
];
diff --git a/cgosling/search/all_7.js b/cgosling/search/all_7.js
index db1f5d90..3df0dc39 100644
--- a/cgosling/search/all_7.js
+++ b/cgosling/search/all_7.js
@@ -1,7 +1,7 @@
var searchData=
[
- ['v3_5fonion_5fservice_5fid_5fstring_5flength_175',['V3_ONION_SERVICE_ID_STRING_LENGTH',['../cgosling_8h.html#a0aaa1394f5ee32c3fbafe214aa8c8bac',1,'cgosling.h']]],
- ['v3_5fonion_5fservice_5fid_5fstring_5flength_176',['v3_onion_service_id_string_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8b2b086ddd4bf39b46691865b3ae46d5',1,'cgosling.h']]],
+ ['v3_5fonion_5fservice_5fid_5fstring_5flength_175',['v3_onion_service_id_string_length',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba8b2b086ddd4bf39b46691865b3ae46d5',1,'cgosling.h']]],
+ ['v3_5fonion_5fservice_5fid_5fstring_5flength_176',['V3_ONION_SERVICE_ID_STRING_LENGTH',['../cgosling_8h.html#a0aaa1394f5ee32c3fbafe214aa8c8bac',1,'cgosling.h']]],
['v3_5fonion_5fservice_5fid_5fstring_5fsize_177',['V3_ONION_SERVICE_ID_STRING_SIZE',['../cgosling_8h.html#a6abedca208342a4db35779303bfcd519',1,'cgosling.h']]],
['v3_5fonion_5fservice_5fid_5fstring_5fsize_178',['v3_onion_service_id_string_size',['../cgosling_8h.html#a06fc87d81c62e9abb8790b6e5713c55baa48794c57511a5aeb25531e8dbb32aac',1,'cgosling.h']]]
];
diff --git a/coverage.html b/coverage.html
index 7ec5780d..676c9a36 100644
--- a/coverage.html
+++ b/coverage.html
@@ -118,7 +118,7 @@
pub enum ContextEvent {
+ContextEvent in gosling::context - Rust pub enum ContextEvent {
Show 21 variants TorBootstrapStatusReceived {
progress: u32 ,
tag: String ,
@@ -178,10 +178,24 @@
Formats the value using the given formatter.
Read more Immutably borrows from an owned value.
Read more Mutably borrows from an owned value.
Read more Converts
self
into
T
using
Into<T>
.
Read more Converts
self
into
T
using
Into<T>
.
Read more Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
+then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
+further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &Any
’s vtable from &Trait
’s.
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &mut Any
’s vtable from &mut Trait
’s.
Convert Arc<Trait>
(where Trait: Downcast
) to Arc<Any>
. Arc<Any>
can then be
+further downcast
into Arc<ConcreteType>
where ConcreteType
implements Trait
.
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted.
Causes self
to use its UpperHex
implementation when
Debug
-formatted.
Returns the argument unchanged.
-
Instruments this type with the provided [
Span
], returning an
+
Instrumented
wrapper.
Read more Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From <T> for U
chooses to do.
@@ -278,5 +294,8 @@
Self:
TryInto <T>,
Attempts to convert
self
into
T
using
TryInto<T>
.
Read more The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file
diff --git a/crates/gosling/context/enum.Error.html b/crates/gosling/context/enum.Error.html
index bd5e6d9b..61e69751 100644
--- a/crates/gosling/context/enum.Error.html
+++ b/crates/gosling/context/enum.Error.html
@@ -1,4 +1,4 @@
-Error in gosling::context - Rust pub enum Error {
+Error in gosling::context - Rust pub enum Error {
InvalidArgument(String ),
TorNotConnected(),
HandshakeHandleNotFound(HandshakeHandle ),
@@ -24,11 +24,26 @@
Failure ocurred in incoming identity handshake
Failure ocurred in outgoing endpoint handshake
Failure ocurred in incoming endpoint handshake
-
Formats the value using the given formatter.
Read more Formats the value using the given formatter.
Read more The lower-level source of this error, if any.
Read more 👎 Deprecated since 1.42.0: use the Display impl or to_string()
👎 Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬 This is a nightly-only experimental API. (error_generic_member_access
)
Provides type based access to context intended for error reports.
Read more Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Formats the value using the given formatter.
Read more Formats the value using the given formatter.
Read more The lower-level source of this error, if any.
Read more 👎 Deprecated since 1.42.0: use the Display impl or to_string()
👎 Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬 This is a nightly-only experimental API. (error_generic_member_access
)
Provides type based access to context intended for error reports.
Read more Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Immutably borrows from an owned value.
Read more Mutably borrows from an owned value.
Read more Converts
self
into
T
using
Into<T>
.
Read more Converts
self
into
T
using
Into<T>
.
Read more Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
+then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
+further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &Any
’s vtable from &Trait
’s.
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &mut Any
’s vtable from &mut Trait
’s.
Convert Arc<Trait>
(where Trait: Downcast
) to Arc<Any>
. Arc<Any>
can then be
+further downcast
into Arc<ConcreteType>
where ConcreteType
implements Trait
.
Return an object that displays the error and its causes
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted.
Causes self
to use its UpperHex
implementation when
Debug
-formatted.
Returns the argument unchanged.
-
Instruments this type with the provided [
Span
], returning an
+
Instrumented
wrapper.
Read more Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From <T> for U
chooses to do.
@@ -125,6 +142,10 @@
T:
Display + ?
Sized ,
Converts the given value to a
String
.
Read more Attempts to convert
self
into
T
using
TryInto<T>
.
Read more The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Convert self
into a Slug
, if it has the right syntax
\ No newline at end of file
diff --git a/crates/gosling/context/struct.Context.html b/crates/gosling/context/struct.Context.html
index c49b7ba2..498efc1f 100644
--- a/crates/gosling/context/struct.Context.html
+++ b/crates/gosling/context/struct.Context.html
@@ -1,4 +1,4 @@
-Context in gosling::context - Rust pub struct Context { }
Expand description The gosling protocol implementation.
+
Context in gosling::context - Rust pub struct Context { }
Expand description The gosling protocol implementation.
The Context
object provides various methods for starting and progressing identity and endpoint handshakes. The general usage pattern developers will follow is to construct a Context
object, connect to the Tor Network using Context::bootstrap()
, optionally start an identity or endpoint servers, and listen for and handle incoming identity and endpoint clients using Context::update()
and the various associated methods. Depending on the application’s requirements, the developer can also initiate identity and endpoint handshakes as necessary.
The Gosling Protocol specification can be found here:
@@ -143,10 +143,22 @@ § Paramet
This function updates the Context
’s underlying TorProvider
, handles new handshakes requests, and updates in-progress handshakes. This function needs to be regularly called to process the returned ContextEvent
s.
Immutably borrows from an owned value.
Read more Mutably borrows from an owned value.
Read more Converts
self
into
T
using
Into<T>
.
Read more Converts
self
into
T
using
Into<T>
.
Read more Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
+then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
+further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &Any
’s vtable from &Trait
’s.
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
+generate &mut Any
’s vtable from &mut Trait
’s.
Causes self
to use its Binary
implementation when Debug
-formatted.
Causes self
to use its Display
implementation when
Debug
-formatted.
Causes self
to use its UpperHex
implementation when
Debug
-formatted.
Returns the argument unchanged.
-
Instruments this type with the provided [
Span
], returning an
+
Instrumented
wrapper.
Read more Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From <T> for U
chooses to do.
@@ -243,5 +257,8 @@
§ Paramet
Self: TryInto <T>,Attempts to convert
self
into
T
using
TryInto<T>
.
Read more The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file
diff --git a/crates/search-index.js b/crates/search-index.js
index 9228b472..2350e84c 100644
--- a/crates/search-index.js
+++ b/crates/search-index.js
@@ -1,7 +1,7 @@
var searchIndex = new Map(JSON.parse('[\
-["gosling",{"t":"CFGPPPPPPPPPPGIPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO","n":["context","Context","ContextEvent","EndpointClientError","EndpointClientHandshakeCompleted","EndpointClientHandshakeFailed","EndpointServerChannelRequestReceived","EndpointServerError","EndpointServerHandshakeCompleted","EndpointServerHandshakeFailed","EndpointServerHandshakeRejected","EndpointServerHandshakeStarted","EndpointServerPublished","Error","HandshakeHandle","HandshakeHandleNotFound","HonkRpc","IdentityClientChallengeReceived","IdentityClientError","IdentityClientHandshakeCompleted","IdentityClientHandshakeFailed","IdentityServerChallengeResponseReceived","IdentityServerEndpointRequestReceived","IdentityServerError","IdentityServerHandshakeCompleted","IdentityServerHandshakeFailed","IdentityServerHandshakeRejected","IdentityServerHandshakeStarted","IdentityServerPublished","IncorrectUsage","InvalidArgument","Io","TorBootstrapCompleted","TorBootstrapStatusReceived","TorCrypto","TorLogReceived","TorNotConnected","TorProvider","bootstrap","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","connect","endpoint_client_abort_handshake","endpoint_client_begin_handshake","endpoint_server_handle_channel_request_received","endpoint_server_start","endpoint_server_stop","fmt","fmt","fmt","from","from","from","from","from","from","from","generate_circuit_token","identity_client_abort_handshake","identity_client_begin_handshake","identity_client_handle_challenge_received","identity_server_handle_challenge_response_received","identity_server_handle_endpoint_request_received","identity_server_start","identity_server_stop","into","into","into","new","release_circuit_token","source","to_string","try_from","try_from","try_from","try_into","try_into","try_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","update","vzip","vzip","vzip","challenge_response","challenge_response_valid","channel_name","channel_name","client_allowed","client_allowed","client_auth_private_key","client_auth_public_key","client_auth_signature_valid","client_proof_signature_valid","client_proof_signature_valid","client_requested_channel_valid","client_requested_endpoint_valid","client_service_id","client_service_id","client_service_id","client_service_id","endpoint_challenge","endpoint_name","endpoint_name","endpoint_name","endpoint_private_key","endpoint_service_id","endpoint_service_id","endpoint_service_id","endpoint_service_id","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","identity_service_id","line","progress","reason","reason","reason","reason","requested_channel","requested_endpoint","stream","stream","summary","tag"],"q":[[0,"gosling"],[1,"gosling::context"],[92,"gosling::context::ContextEvent"],[147,"core::result"],[148,"tor_interface::tor_provider"],[149,"core::option"],[150,"tor_interface::tor_crypto"],[151,"alloc::string"],[152,"core::fmt"],[153,"std::io::error"],[154,"honk_rpc::honk_rpc"],[155,"bson::document"],[156,"alloc::boxed"],[157,"core::time"],[158,"core::error"],[159,"core::any"],[160,"alloc::collections::vec_deque"]],"i":[0,0,0,5,20,20,20,5,20,20,20,20,20,0,0,5,5,20,5,20,20,20,20,5,20,20,20,20,20,5,5,5,20,20,5,20,5,5,2,2,5,20,2,5,20,2,2,2,2,2,2,5,5,20,2,5,5,5,5,5,20,2,2,2,2,2,2,2,2,2,5,20,2,2,5,5,2,5,20,2,5,20,2,5,20,2,5,20,2,2,5,20,34,35,36,37,35,38,39,40,35,35,38,38,35,41,40,42,37,43,39,40,44,40,39,36,44,37,43,39,45,46,41,34,40,35,47,36,48,49,42,37,38,50,39,51,52,45,47,48,50,42,41,36,37,52,52],"f":"``````````````````````````````````````{{{f{bd}}}{{l{hj}}}}{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{bd}}n{Ab{A`}}}{{l{Adj}}}}{{{f{bd}}Af}{{l{hj}}}}{{{f{bd}}AhAjAl}{{l{Afj}}}}{{{f{bd}}AfAn}{{l{hj}}}}{{{f{bd}}B`AlAhBb}{{l{hj}}}}{{{f{bd}}Ah}{{l{hj}}}}{{{f{j}}{f{bBd}}}Bf}0{{{f{Bh}}{f{bBd}}}Bf}{cc{}}{Bjj}{Blj}2{Bnj}{C`j}4{{{f{bd}}}A`}<{{{f{bd}}AhAl}{{l{Afj}}}}{{{f{bd}}AfCb}{{l{hj}}}}<{{{f{bd}}AfAnAnCb}{{l{hj}}}}{{{f{bd}}}{{l{hj}}}}0{ce{}{}}00{{{Cf{Cd}}ChChCjCl{Ab{Cj}}B`}{{l{dj}}}}{{{f{bd}}A`}h}{{{f{j}}}{{Ab{{f{Cn}}}}}}{{{f{c}}}Al{}}{c{{l{e}}}{}{}}00000000{{{f{c}}}D`{}}00{{{f{bd}}}{{l{{Db{Bh}}j}}}}777```````````````````````````````````````````````````````","D":"Nl","p":[[0,"mut"],[5,"Context",1],[1,"reference"],[1,"unit"],[6,"Error",1],[6,"Result",147],[6,"TargetAddr",148],[8,"CircuitToken",148],[6,"Option",149],[5,"OnionStream",148],[8,"HandshakeHandle",1],[5,"V3OnionServiceId",150],[5,"X25519PrivateKey",150],[5,"String",151],[1,"bool"],[5,"Ed25519PrivateKey",150],[5,"X25519PublicKey",150],[5,"Formatter",152],[8,"Result",152],[6,"ContextEvent",1],[5,"Error",153],[6,"Error",150],[6,"Error",148],[6,"Error",154],[5,"Document",155],[10,"TorProvider",148],[5,"Box",156],[1,"u16"],[5,"Duration",157],[1,"i32"],[10,"Error",158],[5,"TypeId",159],[5,"VecDeque",160],[15,"IdentityServerChallengeResponseReceived",92],[15,"IdentityServerHandshakeRejected",92],[15,"EndpointClientHandshakeCompleted",92],[15,"EndpointServerHandshakeCompleted",92],[15,"EndpointServerHandshakeRejected",92],[15,"IdentityClientHandshakeCompleted",92],[15,"IdentityServerHandshakeCompleted",92],[15,"IdentityServerEndpointRequestReceived",92],[15,"EndpointServerChannelRequestReceived",92],[15,"IdentityClientChallengeReceived",92],[15,"EndpointServerPublished",92],[15,"IdentityClientHandshakeFailed",92],[15,"IdentityServerHandshakeStarted",92],[15,"IdentityServerHandshakeFailed",92],[15,"EndpointClientHandshakeFailed",92],[15,"EndpointServerHandshakeStarted",92],[15,"EndpointServerHandshakeFailed",92],[15,"TorLogReceived",92],[15,"TorBootstrapStatusReceived",92]],"r":[],"b":[[51,"impl-Display-for-Error"],[52,"impl-Debug-for-Error"],[55,"impl-From%3CError%3E-for-Error"],[56,"impl-From%3CError%3E-for-Error"],[58,"impl-From%3CError%3E-for-Error"],[59,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAB0ABgAoAAUANAACADgAAQA7AAEASwANAFoAAgA="}],\
+["gosling",{"t":"CFGPPPPPPPPPPGIPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO","n":["context","Context","ContextEvent","EndpointClientError","EndpointClientHandshakeCompleted","EndpointClientHandshakeFailed","EndpointServerChannelRequestReceived","EndpointServerError","EndpointServerHandshakeCompleted","EndpointServerHandshakeFailed","EndpointServerHandshakeRejected","EndpointServerHandshakeStarted","EndpointServerPublished","Error","HandshakeHandle","HandshakeHandleNotFound","HonkRpc","IdentityClientChallengeReceived","IdentityClientError","IdentityClientHandshakeCompleted","IdentityClientHandshakeFailed","IdentityServerChallengeResponseReceived","IdentityServerEndpointRequestReceived","IdentityServerError","IdentityServerHandshakeCompleted","IdentityServerHandshakeFailed","IdentityServerHandshakeRejected","IdentityServerHandshakeStarted","IdentityServerPublished","IncorrectUsage","InvalidArgument","Io","TorBootstrapCompleted","TorBootstrapStatusReceived","TorCrypto","TorLogReceived","TorNotConnected","TorProvider","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","connect","endpoint_client_abort_handshake","endpoint_client_begin_handshake","endpoint_server_handle_channel_request_received","endpoint_server_start","endpoint_server_stop","fmt","fmt","fmt","from","from","from","from","from","from","from","generate_circuit_token","identity_client_abort_handshake","identity_client_begin_handshake","identity_client_handle_challenge_received","identity_server_handle_challenge_response_received","identity_server_handle_endpoint_request_received","identity_server_start","identity_server_stop","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","new","release_circuit_token","report","source","to_string","try_from","try_from","try_from","try_into","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","update","vzip","vzip","vzip","challenge_response","challenge_response_valid","channel_name","channel_name","client_allowed","client_allowed","client_auth_private_key","client_auth_public_key","client_auth_signature_valid","client_proof_signature_valid","client_proof_signature_valid","client_requested_channel_valid","client_requested_endpoint_valid","client_service_id","client_service_id","client_service_id","client_service_id","endpoint_challenge","endpoint_name","endpoint_name","endpoint_name","endpoint_private_key","endpoint_service_id","endpoint_service_id","endpoint_service_id","endpoint_service_id","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","handle","identity_service_id","line","progress","reason","reason","reason","reason","requested_channel","requested_endpoint","stream","stream","summary","tag"],"q":[[0,"gosling"],[1,"gosling::context"],[108,"gosling::context::ContextEvent"],[163,"core::any"],[164,"core::result"],[165,"tor_interface::tor_provider"],[166,"core::option"],[167,"tor_interface::tor_crypto"],[168,"alloc::string"],[169,"core::fmt"],[170,"honk_rpc::honk_rpc"],[171,"std::io::error"],[172,"bson::document"],[173,"alloc::boxed"],[174,"alloc::sync"],[175,"alloc::rc"],[176,"core::time"],[177,"tor_error::report"],[178,"core::error"],[179,"tor_persist::slug"],[180,"alloc::collections::vec_deque"]],"i":[0,0,0,6,21,21,21,6,21,21,21,21,21,0,0,6,6,21,6,21,21,21,21,6,21,21,21,21,21,6,6,6,21,21,6,21,6,6,4,6,21,4,6,21,4,4,6,21,4,6,21,4,4,4,4,4,4,6,6,21,4,6,6,6,6,6,21,4,4,4,4,4,4,4,4,4,6,21,4,6,21,6,21,4,6,21,4,4,6,6,6,4,6,21,4,6,21,6,4,6,21,4,6,21,4,4,6,21,41,42,43,44,42,45,46,47,42,42,45,45,42,48,47,49,44,50,46,47,51,47,46,43,51,44,50,46,52,53,48,41,47,42,54,43,55,56,49,44,45,57,46,58,59,52,54,55,57,49,48,43,44,59,59],"f":"``````````````````````````````````````{{{b{c}}}{{b{d}}}{}}00{{{b{fc}}}{{b{fd}}}{}}00{{{b{fh}}}{{n{jl}}}}{{{b{c}}}{{b{e}}}{}{}}00{{{b{fc}}}{{b{fe}}}{}{}}00{{{b{fh}}A`{Ad{Ab}}}{{n{Afl}}}}{{{b{fh}}Ah}{{n{jl}}}}{{{b{fh}}AjAlAn}{{n{Ahl}}}}{{{b{fh}}AhB`}{{n{jl}}}}{{{b{fh}}BbAnAjBd}{{n{jl}}}}{{{b{fh}}Aj}{{n{jl}}}}{{{b{l}}{b{fBf}}}Bh}0{{{b{Bj}}{b{fBf}}}Bh}{cc{}}{Bll}{Bnl}2{C`l}{Cbl}4{{{b{fh}}}Ab}<{{{b{fh}}AjAn}{{n{Ahl}}}}{{{b{fh}}AhCd}{{n{jl}}}}<{{{b{fh}}AhB`B`Cd}{{n{jl}}}}{{{b{fh}}}{{n{jl}}}}0{ce{}{}}00{{{Cf{c}}}{{Cf{d}}}{}}00{{{Ch{c}}}{{Ch{d}}}{}}0{{{Cj{c}}}{{Cj{d}}}{}}00{{{Cf{Cl}}CnCnD`Db{Ad{D`}}Bb}{{n{hl}}}}{{{b{fh}}Ab}j}{{{b{c}}}{{Df{Dd}}}{}}{{{b{l}}}{{Ad{{b{Dh}}}}}}{{{b{c}}}An{}}{c{{n{e}}}{}{}}00000{{{b{c}}}{{n{DjDl}}}{}}111{{{b{c}}}Dn{}}00{{{b{fh}}}{{n{{E`{Bj}}l}}}}<<<```````````````````````````````````````````````````````","D":"Nl","p":[[1,"reference"],[10,"Any",163],[0,"mut"],[5,"Context",1],[1,"unit"],[6,"Error",1],[6,"Result",164],[6,"TargetAddr",165],[8,"CircuitToken",165],[6,"Option",166],[5,"OnionStream",165],[8,"HandshakeHandle",1],[5,"V3OnionServiceId",167],[5,"X25519PrivateKey",167],[5,"String",168],[1,"bool"],[5,"Ed25519PrivateKey",167],[5,"X25519PublicKey",167],[5,"Formatter",169],[8,"Result",169],[6,"ContextEvent",1],[6,"Error",170],[6,"Error",165],[6,"Error",167],[5,"Error",171],[5,"Document",172],[5,"Box",173],[5,"Arc",174],[5,"Rc",175],[10,"TorProvider",165],[1,"u16"],[5,"Duration",176],[1,"i32"],[5,"ReportHelper",177],[5,"Report",177],[10,"Error",178],[5,"Slug",179],[6,"BadSlug",179],[5,"TypeId",163],[5,"VecDeque",180],[15,"IdentityServerChallengeResponseReceived",108],[15,"IdentityServerHandshakeRejected",108],[15,"EndpointClientHandshakeCompleted",108],[15,"EndpointServerHandshakeCompleted",108],[15,"EndpointServerHandshakeRejected",108],[15,"IdentityClientHandshakeCompleted",108],[15,"IdentityServerHandshakeCompleted",108],[15,"IdentityServerEndpointRequestReceived",108],[15,"EndpointServerChannelRequestReceived",108],[15,"IdentityClientChallengeReceived",108],[15,"EndpointServerPublished",108],[15,"IdentityClientHandshakeFailed",108],[15,"IdentityServerHandshakeStarted",108],[15,"IdentityServerHandshakeFailed",108],[15,"EndpointClientHandshakeFailed",108],[15,"EndpointServerHandshakeStarted",108],[15,"EndpointServerHandshakeFailed",108],[15,"TorLogReceived",108],[15,"TorBootstrapStatusReceived",108]],"r":[],"b":[[57,"impl-Debug-for-Error"],[58,"impl-Display-for-Error"],[61,"impl-From%3CError%3E-for-Error"],[62,"impl-From%3CError%3E-for-Error"],[64,"impl-From%3CError%3E-for-Error"],[65,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC0ACAAnAAUALgAFADoAAgA+AAEAQQABAE8ABwBZAA8AagACAA=="}],\
["honk_rpc",{"t":"CKPPPPPSSGPGPPPPPPPPIPPPPGPPPPPPFPPPPPNNNNNNNNNNNNNNNMNNNNNNNNNHNNHHHNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNOOOOO","n":["honk_rpc","ApiSet","BsonDocumentParseFailed","BsonDocumentSizeTooLarge","BsonDocumentSizeTooSmall","BsonParseFailed","BsonWriteFailed","DEFAULT_MAX_MESSAGE_SIZE","DEFAULT_MAX_WAIT_TIME","Error","Error","ErrorCode","InvalidMaxMesageSize","MessageConversionFailed","MessageParseFailed","MessageReadTimedOut","MessageTooBig","MessageVersionIncompatible","Pending","ReaderReadFailed","RequestCookie","RequestCookieInvalid","RequestFunctionInvalid","RequestNamespaceInvalid","RequestVersionInvalid","Response","ResponseCookieInvalid","ResponseStateInvalid","Runtime","SectionIdUnknown","SectionParseFailed","SectionTooLarge","Session","Success","Unknown","UnknownErrorSectionReceived","WriterFlushFailed","WriterWriteFailed","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","client_call","client_drain_responses","client_next_response","eq","equivalent","equivalent","equivalent","exec_function","fmt","fmt","fmt","fmt","from","from","from","from","from","get_error_section_size","get_max_message_size","get_max_wait_time","get_message_overhead","get_request_section_size","get_response_section_size","into","into","into","into","into_stream","namespace","new","next_result","set_max_message_size","set_max_wait_time","source","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","update","vzip","vzip","vzip","vzip","cookie","cookie","cookie","error_code","result"],"q":[[0,"honk_rpc"],[1,"honk_rpc::honk_rpc"],[100,"honk_rpc::honk_rpc::Response"],[105,"bson::document"],[106,"core::result"],[107,"std::io"],[108,"core::marker"],[109,"alloc::collections::vec_deque::drain"],[110,"core::option"],[111,"bson::bson"],[112,"core::fmt"],[113,"alloc::string"],[114,"core::time"],[115,"core::error"],[116,"core::any"]],"i":[0,0,8,8,8,16,8,0,0,0,13,0,8,8,16,8,16,16,13,8,0,16,16,16,16,0,16,16,16,16,16,8,0,13,16,8,8,8,13,3,16,8,13,3,16,8,3,3,3,16,16,16,16,18,16,16,8,8,13,3,16,16,8,0,3,3,0,0,0,13,3,16,8,3,18,3,18,3,3,8,16,8,13,3,16,8,13,3,16,8,13,3,16,8,18,3,13,3,16,8,30,31,32,32,31],"f":"``````````````````````````````````````{{{b{c}}}{{b{e}}}{}{}}000{{{b{dc}}}{{b{de}}}{}{}}000{{{b{d{f{c}}}}{b{h}}{b{h}}jl}{{Ab{nA`}}}{AdAfAh}}{{{b{d{f{c}}}}}{{Al{Aj}}}{AdAfAh}}{{{b{d{f{c}}}}}{{An{Aj}}}{AdAfAh}}{{{b{B`}}{b{B`}}}Bb}{{{b{c}}{b{e}}}Bb{}{}}00{{{b{dBd}}{b{h}}jl{An{n}}}{{An{{Ab{{An{Bf}}B`}}}}}}{{{b{B`}}{b{dBh}}}Bj}0{{{b{A`}}{b{dBh}}}Bj}0{cc{}}0{jB`}11{{{An{n}}{An{Bl}}{An{Bf}}}{{Ab{BnA`}}}}{{{b{{f{c}}}}}Bn{AdAfAh}}{{{b{{f{c}}}}}C`{AdAfAh}}{{}{{Ab{BnA`}}}}{{{An{n}}{An{Bl}}Bl{An{j}}{An{l}}}{{Ab{BnA`}}}}{{{An{Bf}}}{{Ab{BnA`}}}}{ce{}{}}000{{{f{c}}}c{AdAfAh}}{{{b{Bd}}}{{b{h}}}}{c{{f{c}}}{AdAfAh}}{{{b{dBd}}}{{An{{Cb{n{Ab{{An{Bf}}B`}}}}}}}}{{{b{d{f{c}}}}j}{{Ab{CdA`}}}{AdAfAh}}{{{b{d{f{c}}}}C`}Cd{AdAfAh}}{{{b{A`}}}{{An{{b{Cf}}}}}}{{{b{c}}}Bl{}}0{c{{Ab{e}}}{}{}}0000000{{{b{c}}}Ch{}}000{{{b{dBd}}}Cd}{{{b{d{f{c}}}}{An{{b{d{Cj{{b{dBd}}}}}}}}}{{Ab{CdA`}}}{AdAfAh}}<<<<`````","D":"Hj","p":[[1,"reference"],[0,"mut"],[5,"Session",1],[1,"str"],[1,"i32"],[5,"Document",105],[8,"RequestCookie",1],[6,"Error",1],[6,"Result",106],[10,"Read",107],[10,"Write",107],[10,"Send",108],[6,"Response",1],[5,"Drain",109],[6,"Option",110],[6,"ErrorCode",1],[1,"bool"],[10,"ApiSet",1],[6,"Bson",111],[5,"Formatter",112],[8,"Result",112],[5,"String",113],[1,"usize"],[5,"Duration",114],[1,"tuple"],[1,"unit"],[10,"Error",115],[5,"TypeId",116],[1,"slice"],[15,"Pending",100],[15,"Success",100],[15,"Error",100]],"r":[],"b":[[54,"impl-Debug-for-ErrorCode"],[55,"impl-Display-for-ErrorCode"],[56,"impl-Display-for-Error"],[57,"impl-Debug-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACQABwABAAAAJwAHADIAAwA3AAMAPQAAAFAADgBhAAMA"}],\
-["tor_interface",{"t":"CCCCCCCCPPPPFGPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPFGPPPFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPGPPPFGPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOGFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGFPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFGGPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPSSSSSSSFFFGPPPGFSSFFSSSSSSPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPIPFGPPGFFPPFPPGGKPNNNNNMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNOOOOO","n":["arti_client_tor_client","censorship_circumvention","legacy_tor_client","legacy_tor_version","mock_tor_client","proxy","tor_crypto","tor_provider","ArtiClientConfigBuilderError","ArtiClientError","ArtiClientOnionServiceLaunchError","ArtiClientTorAddrError","ArtiClientTorClient","Error","NotImplemented","OnionServiceConfigBuilderError","TcpListenerAcceptFailed","TcpListenerBindFailed","TcpListenerLocalAddrFailed","TcpStreamConnectFailed","TcpStreamIntoFailed","TorKeyMgrError","add_client_auth","as_any","as_any","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow_mut","borrow_mut","connect","fmt","fmt","from","from","generate_token","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","update","vzip","vzip","AddressMissing","AddressParseFailed","AddressPortInvalid","BinaryPathInvalid","BridgeLine","BridgeLineError","FingerprintInvalid","FingerprintMissing","KeyValueInvalid","PluggableTransportConfig","PluggableTransportConfigError","TransportMissing","TransportNameInvalid","TransportNameInvalid","__clone_box","__clone_box","add_option","address","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_legacy_tor_setconf_value","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","fingerprint","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_str","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","keyvalues","new","new","options","path_to_binary","report","report","to_owned","to_owned","to_string","to_string","transport","transports","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","AddOnionFailed","BridgeTransportNotSupported","BridgeTransportTypeMultiplyDefined","BundledTor","CircuitTokenInvalid","DelOnionFailed","Error","GetInfoNetListenersSocksFailed","GetInfoVersionFailed","LegacyControlStreamCreationFailed","LegacyTorClient","LegacyTorClientConfig","LegacyTorControllerCreationFailed","LegacyTorNotBootstrapped","LegacyTorProcessAuthenticationFailed","LegacyTorProcessCreationFailed","LegacyTorProcessTooOld","NoSocksListenersFound","NotImplemented","OnionClientAuthAddFailed","OnionClientAuthRemoveFailed","PluggableTransportBinaryNameNotUtf8Representnable","PluggableTransportConfigDirectoryCreationFailed","PluggableTransportConfigError","PluggableTransportDirectoryNameCollision","PluggableTransportSymlinkCreationFailed","PluggableTransportSymlinkRemovalFailed","SetConfDisableNetwork0Failed","SetConfFailed","SetEventsFailed","Socks5ConnectionFailed","SystemTor","TcpListenerBindFailed","TcpListenerLocalAddrFailed","WaitAsyncEventsFailed","__clone_box","add_client_auth","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","connect","fmt","fmt","fmt","from","from","from","generate_token","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","update","version","vzip","vzip","vzip","allowed_ports","bridge_lines","data_directory","pluggable_transports","proxy_settings","tor_bin_path","tor_control_addr","tor_control_passwd","tor_socks_addr","Error","LegacyTorVersion","ParseError","__clone_box","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","eq","fmt","fmt","from","from","from_str","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","new","partial_cmp","report","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","vzip","vzip","ClientAlreadyBootstrapped","ClientNotBootstrapped","ConnectFailed","Error","MockTorClient","NotImplemented","OnionServiceAuthInvalid","OnionServiceNotFound","OnionServiceNotPublished","OnionServiceRequiresOnionAuth","TcpListenerBindFailed","TcpListenerLocalAddrFailed","add_client_auth","as_any","as_any","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow_mut","borrow_mut","connect","default","drop","fmt","fmt","from","from","generate_token","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","update","vzip","vzip","Generic","Https","HttpsProxyConfig","ProxyConfig","ProxyConfigError","Socks4","Socks4ProxyConfig","Socks5","Socks5ProxyConfig","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","new","new","new","report","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","ConversionError","ED25519_PRIVATE_KEYBLOB_BASE64_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_SIZE","ED25519_PRIVATE_KEY_SIZE","ED25519_PUBLIC_KEY_SIZE","ED25519_SIGNATURE_SIZE","Ed25519PrivateKey","Ed25519PublicKey","Ed25519Signature","Error","KeyInvalid","One","ParseError","SignBit","V3OnionServiceId","V3_ONION_SERVICE_ID_STRING_LENGTH","V3_ONION_SERVICE_ID_STRING_SIZE","X25519PrivateKey","X25519PublicKey","X25519_PRIVATE_KEY_BASE64_LENGTH","X25519_PRIVATE_KEY_BASE64_SIZE","X25519_PRIVATE_KEY_SIZE","X25519_PUBLIC_KEY_BASE32_LENGTH","X25519_PUBLIC_KEY_BASE32_SIZE","X25519_PUBLIC_KEY_SIZE","Zero","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_bytes","as_bytes","as_bytes","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_base32","from_base64","from_key_blob","from_private_key","from_private_key","from_private_key","from_private_x25519","from_public_key","from_raw","from_raw","from_raw","from_raw","from_raw","from_service_id","from_string","generate","generate","hash","hash","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_valid","partial_cmp","report","sign_message","sign_message","to_base32","to_base64","to_bytes","to_bytes","to_bytes","to_key_blob","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","verify_x25519","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BootstrapComplete","BootstrapStatus","CircuitToken","Domain","DomainAddr","Error","Generic","LogReceived","OnionAddr","OnionAddrV3","OnionListener","OnionService","OnionServicePublished","OnionStream","ParseFailure","Socket","TargetAddr","TorEvent","TorProvider","V3","__clone_box","__clone_box","__clone_box","__clone_box","accept","add_client_auth","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","compare","compare","compare","connect","deref","deref_mut","domain","drop","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","flush","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_str","from_str","from_str","generate_token","hash","hash","hash","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","listener","local_addr","new","partial_cmp","partial_cmp","partial_cmp","peer_addr","port","read","release_token","remove_client_auth","report","service_id","set_nonblocking","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","try_clone","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_into_slug","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","virt_port","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write","write","line","progress","service_id","summary","tag"],"q":[[0,"tor_interface"],[8,"tor_interface::arti_client_tor_client"],[65,"tor_interface::censorship_circumvention"],[169,"tor_interface::legacy_tor_client"],[268,"tor_interface::legacy_tor_client::LegacyTorClientConfig"],[277,"tor_interface::legacy_tor_version"],[324,"tor_interface::mock_tor_client"],[381,"tor_interface::proxy"],[495,"tor_interface::tor_crypto"],[734,"tor_interface::tor_provider"],[964,"tor_interface::tor_provider::TorEvent"],[969,"core::result"],[970,"core::any"],[971,"core::option"],[972,"core::fmt"],[973,"alloc::boxed"],[974,"alloc::sync"],[975,"alloc::rc"],[976,"tokio::runtime::runtime"],[977,"std::path"],[978,"tor_error::report"],[979,"core::error"],[980,"alloc::string"],[981,"tor_persist::slug"],[982,"alloc::vec"],[983,"dyn_clone::sealed"],[984,"core::net::socket_addr"],[985,"core::cmp"],[986,"core::hash"],[987,"std::io::error"],[988,"der::error"]],"i":[0,0,0,0,0,0,0,0,14,14,14,14,0,0,14,14,14,14,14,14,14,14,2,2,14,2,14,2,2,14,2,14,2,14,14,2,14,2,2,14,2,14,2,14,2,14,2,2,2,2,14,14,14,2,14,2,14,14,2,14,2,14,2,2,14,41,41,41,40,0,0,41,41,41,0,0,41,40,41,37,38,37,38,37,40,38,41,37,40,38,41,38,37,40,38,41,37,40,38,41,37,38,37,38,37,38,38,37,40,40,38,41,41,37,40,38,41,38,37,40,38,41,37,40,38,41,37,40,38,41,37,40,38,41,38,37,38,37,37,40,41,37,38,40,41,38,37,37,40,38,41,37,40,38,41,40,41,37,40,38,41,37,40,38,41,37,40,38,41,47,47,47,46,47,47,0,47,47,47,0,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,46,47,47,47,46,45,45,47,46,45,47,46,45,45,47,46,45,47,46,46,46,46,45,47,47,46,45,47,46,45,45,47,46,45,47,46,45,47,46,45,47,46,45,45,45,45,47,47,46,47,45,47,46,45,47,46,47,45,47,46,45,47,46,45,45,45,47,46,74,74,74,74,74,74,75,75,75,0,0,50,48,50,48,50,48,50,48,50,48,48,48,48,48,50,50,50,48,48,50,48,50,48,50,48,50,48,48,48,50,48,50,48,50,48,50,48,50,48,50,48,50,48,50,48,54,54,54,0,0,54,54,54,54,54,54,54,53,53,54,53,54,53,53,54,53,54,53,53,53,54,54,53,54,53,53,54,53,54,53,54,53,54,53,53,53,53,54,54,54,53,54,53,54,54,53,54,53,54,53,53,54,59,58,0,0,0,58,0,58,0,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,55,56,57,58,55,56,57,58,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,58,58,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,55,56,57,59,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,65,0,0,0,0,0,0,0,0,0,0,0,65,64,65,0,0,0,0,0,0,0,0,0,0,0,0,64,20,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,60,22,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,60,63,5,22,4,64,20,60,63,5,22,4,64,20,60,63,5,22,4,64,64,4,4,20,60,63,5,22,4,22,22,22,4,4,4,20,65,65,60,63,5,22,4,4,20,65,60,63,5,22,4,64,64,22,5,20,60,22,4,20,4,20,60,63,5,22,60,4,20,5,22,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,4,4,65,20,5,22,5,20,63,5,20,20,60,63,5,22,4,64,65,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,65,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,63,63,20,65,60,63,5,22,4,64,34,34,0,10,0,0,7,34,0,0,0,10,34,0,7,10,0,0,0,70,69,70,71,10,24,68,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,69,70,71,10,69,70,71,10,69,70,71,10,69,70,71,69,70,71,68,13,13,71,24,69,70,71,69,69,69,70,70,70,71,71,71,13,7,7,69,69,70,70,71,71,10,10,34,13,24,7,7,7,7,69,70,71,10,10,34,70,71,10,68,69,70,71,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,13,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,13,69,69,70,71,13,71,13,68,68,7,69,24,69,70,71,10,7,69,70,71,10,13,13,24,7,69,70,71,71,10,34,13,24,7,69,70,71,10,34,7,69,70,71,10,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,69,13,24,7,69,70,71,10,34,13,13,76,77,78,77,77],"f":"``````````````````````{{{f{bd}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{bd}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{bd}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{Al}}{f{bAn}}}B`}0{cc{}}0{{{f{bd}}}Af}{ce{}{}}0{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{{f{bd}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{{{Bd{Cb}}{f{Cd}}}{{A`{dAl}}}}{{{f{bd}}Af}l}{{{f{bd}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Al}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}11{{{f{c}}}Db{}}0{{{f{bd}}}{{A`{{Df{Dd}}n}}}}>>``````````````{{{f{c}}Dh}l{}}0{{{f{bDj}}Cl}l}{{{f{Dl}}}{{f{Dn}}}}{{{f{c}}}{{f{Ab}}}{}}000{{{f{bc}}}{{f{bAb}}}{}}000{{{f{Dl}}}Cl}{{{f{c}}}{{f{e}}}{}{}}000{{{f{bc}}}{{f{be}}}{}{}}000{{{f{Dj}}}Dj}{{{f{Dl}}}Dl}{{{f{c}}{f{be}}}l{}{}}0{{{f{c}}}l{}}0{{{f{Dl}}}{{f{Cl}}}}{{{f{Dj}}{f{bAn}}}B`}{{{f{E`}}{f{bAn}}}B`}0{{{f{Dl}}{f{bAn}}}B`}{{{f{Eb}}{f{bAn}}}B`}0{cc{}}000{{{f{Ed}}}{{A`{Dlc}}}{}}{ce{}{}}000{{{Bb{c}}}{{Bb{Ab}}}{}}000{{{Bd{c}}}{{Bd{Ab}}}{}}000{{{Bf{c}}}{{Bf{Ab}}}{}}000{{{f{Dl}}}{{f{{Df{{Ef{ClCl}}}}}}}}{{{Df{Cl}}Eh}{{A`{DjE`}}}}{{ClDnCl{Df{{Ef{ClCl}}}}}{{A`{DlEb}}}}{{{f{Dj}}}{{f{{Df{Cl}}}}}}{{{f{Dj}}}{{f{Eh}}}}{{{f{c}}}{{Ch{Cf}}}{}}0{{{f{c}}}e{}{}}0{{{f{c}}}Cl{}}0{{{f{Dl}}}{{f{Cl}}}}5{c{{A`{e}}}{}{}}0000000{{{f{c}}}{{A`{CnD`}}}{}}01111{{{f{c}}}Db{}}000????```````````````````````````````````{{{f{c}}Dh}l{}}{{{f{bEj}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}00{{{f{bc}}}{{f{bAb}}}{}}00{{{f{bEj}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{El}}}El}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{bEj}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{En}}{f{bAn}}}B`}0{{{f{El}}{f{bAn}}}B`}{cc{}}00{{{f{bEj}}}Af}{ce{}{}}00{{{Bb{c}}}{{Bb{Ab}}}{}}00{{{Bd{c}}}{{Bd{Ab}}}{}}00{{{Bf{c}}}{{Bf{Ab}}}{}}00{{{f{bEj}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{El{{A`{EjEn}}}}{{{f{bEj}}Af}l}{{{f{bEj}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{En}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}e{}{}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}00000{{{f{c}}}{{A`{CnD`}}}{}}111{{{f{c}}}Db{}}00{{{f{bEj}}}{{A`{{Df{Dd}}n}}}}{{{f{bEj}}}F`}{ce{}{}}00````````````{{{f{c}}Dh}l{}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{F`}}}F`}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{F`}}{f{F`}}}Fb}{{{f{Fd}}{f{bAn}}}B`}0{cc{}}0{{{f{Ed}}}{{A`{F`c}}}{}}<<{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{FfFfFf{Ah{Ff}}{Ah{{f{Ed}}}}}{{A`{F`Fd}}}}{{{f{F`}}{f{F`}}}{{Ah{Fh}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{c}}}e{}{}}{{{f{c}}}Cl{}}{{{f{F`}}}Cl}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}011{{{f{c}}}Db{}}0{ce{}{}}0````````````{{{f{bFj}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{bFj}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{bFj}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{}Fj}{{{f{bFj}}}l}{{{f{Fl}}{f{bAn}}}B`}0{cc{}}0{{{f{bFj}}}Af}<<{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{{f{bFj}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}8{{{f{bFj}}Af}l}{{{f{bFj}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Fl}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}11{{{f{c}}}Db{}}0{{{f{bFj}}}{{A`{{Df{Dd}}n}}}}{ce{}{}}0`````````{{{f{c}}Dh}l{}}000{{{f{c}}}{{f{Ab}}}{}}0000{{{f{bc}}}{{f{bAb}}}{}}0000{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000{{{f{Fn}}}Fn}{{{f{G`}}}G`}{{{f{Gb}}}Gb}{{{f{Gd}}}Gd}{{{f{c}}{f{be}}}l{}{}}000{{{f{c}}}l{}}000{{{f{Gf}}{f{bAn}}}B`}0{{{f{Fn}}{f{bAn}}}B`}{{{f{G`}}{f{bAn}}}B`}{{{f{Gb}}{f{bAn}}}B`}{{{f{Gd}}{f{bAn}}}B`}{cc{}}000{FnGd}{GbGd}2{G`Gd}{ce{}{}}0000{{{Bb{c}}}{{Bb{Ab}}}{}}0000{{{Bd{c}}}{{Bd{Ab}}}{}}0000{{{Bf{c}}}{{Bf{Ab}}}{}}0000{Ad{{A`{FnGf}}}}{{Ad{Ah{Cl}}{Ah{Cl}}}{{A`{G`Gf}}}}{{Ad{Ah{Cl}}{Ah{Cl}}}{{A`{GbGf}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{c}}}e{}{}}000{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000000000{{{f{c}}}{{A`{CnD`}}}{}}11111{{{f{c}}}Db{}}0000<<<<<````````````````````````````{{{f{c}}Dh}l{}}000000{{{f{c}}}{{f{Ab}}}{}}0000000{{{f{bc}}}{{f{bAb}}}{}}0000000{{{f{Gh}}}{{f{{Gl{Gj}}}}}}{{{f{Bl}}}{{f{{Gl{Gj}}}}}}{{{f{h}}}{{f{{Gl{Gj}}}}}}{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000{{{f{Bh}}}Bh}{{{f{Gh}}}Gh}{{{f{Gn}}}Gn}{{{f{j}}}j}{{{f{Bl}}}Bl}{{{f{h}}}h}{{{f{H`}}}H`}{{{f{c}}{f{be}}}l{}{}}000000{{{f{c}}}l{}}0000000{{{f{h}}{f{h}}}Fh}{{{f{c}}{f{e}}}Fh{}{}}{{{f{Bh}}{f{Bh}}}Fb}{{{f{Gh}}{f{Gh}}}Fb}{{{f{Gn}}{f{Gn}}}Fb}{{{f{j}}{f{j}}}Fb}{{{f{Bl}}{f{Bl}}}Fb}{{{f{h}}{f{h}}}Fb}{{{f{c}}{f{e}}}Fb{}{}}00000{{{f{Bh}}{f{bAn}}}B`}{{{f{Hb}}{f{bAn}}}B`}0{{{f{Gh}}{f{bAn}}}B`}{{{f{Gn}}{f{bAn}}}B`}{{{f{j}}{f{bAn}}}B`}{{{f{Bl}}{f{bAn}}}B`}{{{f{h}}{f{bAn}}}B`}0{cc{}}0000000{FbH`}{{{f{Ed}}}{{A`{BlHb}}}}{{{f{Ed}}}{{A`{jHb}}}}{{{f{Ed}}}{{A`{BhHb}}}}{{{f{Bh}}}Gh}{{{f{j}}}Bl}{{{f{Bh}}}h}{{{f{j}}}{{A`{{Ef{BhH`}}Hb}}}}{{{f{Gh}}}h}{{{f{{Gl{Gj}}}}}{{A`{BhHb}}}}{{{f{{Gl{Gj}}}}}{{A`{GhHb}}}}{{{f{{Gl{Gj}}}}}{{A`{GnHb}}}}{{{f{{Gl{Gj}}}}}{{A`{jHb}}}}{{{f{{Gl{Gj}}}}}Bl}{{{f{h}}}{{A`{GhHb}}}}{{{f{Ed}}}{{A`{hHb}}}}{{}Bh}{{}j}{{{f{Bl}}{f{bc}}}lHd}{{{f{h}}{f{bc}}}lHd}{ce{}{}}0000000{{{Bb{c}}}{{Bb{Ab}}}{}}0000000{{{Bd{c}}}{{Bd{Ab}}}{}}0000000{{{Bf{c}}}{{Bf{Ab}}}{}}0000000{{{f{Ed}}}Fb}{{{f{h}}{f{h}}}{{Ah{Fh}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Bh}}{f{{Bn{Gj}}}}}Gn}{{{f{j}}{f{{Bn{Gj}}}}}{{A`{{Ef{GnH`}}Hb}}}}{{{f{Bl}}}Cl}{{{f{j}}}Cl}{{{f{Bh}}}{{Gl{Gj}}}}{{{f{Gn}}}{{Gl{Gj}}}}{{{f{j}}}{{Gl{Gj}}}}{{{f{Bh}}}Cl}{{{f{c}}}e{}{}}000000{{{f{c}}}Cl{}}0{c{{A`{e}}}{}{}}000000000000000{{{f{c}}}{{A`{CnD`}}}{}}011111111{{{f{c}}}Db{}}0000000{{{f{Gn}}{f{{Bn{Gj}}}}{f{Gh}}}Fb}{{{f{Gn}}{f{{Bn{Gj}}}}{f{Bl}}H`}Fb}{ce{}{}}0000000````````````````````{{{f{c}}Dh}l{}}000{{{f{C`}}}{{A`{{Ah{Aj}}Hf}}}}{{{f{bHh}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0000000{{{f{bc}}}{{f{bAb}}}{}}0000000{{{f{bHh}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000{{{f{Hj}}}Hj}{{{f{Hl}}}Hl}{{{f{Hn}}}Hn}{{{f{Ad}}}Ad}{{{f{c}}{f{be}}}l{}{}}000{{{f{c}}}l{}}000{{{f{Hj}}{f{Hj}}}Fh}{{{f{Hl}}{f{Hl}}}Fh}{{{f{Hn}}{f{Hn}}}Fh}{{{f{c}}{f{e}}}Fh{}{}}00{{{f{bHh}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{Aj}}}{{f{c}}}{}}{{{f{bAj}}}{{f{bc}}}{}}{{{f{Hn}}}{{f{Ed}}}}{{{f{bC`}}}l}{{{f{Hj}}{f{Hj}}}Fb}{{{f{Hl}}{f{Hl}}}Fb}{{{f{Hn}}{f{Hn}}}Fb}{{{f{c}}{f{e}}}Fb{}{}}00000000{{{f{bAj}}}{{A`{lHf}}}}{{{f{n}}{f{bAn}}}B`}0{{{f{Hj}}{f{bAn}}}B`}0{{{f{Hl}}{f{bAn}}}B`}0{{{f{Hn}}{f{bAn}}}B`}0{{{f{Ad}}{f{bAn}}}B`}0{{{f{Dd}}{f{bAn}}}B`}{cc{}}00{Fln}{Aln}{Enn}333{{{Ef{hBj}}}Ad}44{{{f{Ed}}}{{A`{Hlc}}}{}}{{{f{Ed}}}{{A`{Hnc}}}{}}{{{f{Ed}}}{{A`{Adc}}}{}}{{{f{bHh}}}Af}{{{f{Hj}}{f{bc}}}lHd}{{{f{Hl}}{f{bc}}}lHd}{{{f{Hn}}{f{bc}}}lHd}{ce{}{}}0000000{{{Bb{c}}}{{Bb{Ab}}}{}}0000000{{{Bd{c}}}{{Bd{Ab}}}{}}000000{{{Bf{c}}}{{Bf{Ab}}}{}}0000000{{{f{bHh}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{{{f{Aj}}}{{Ah{Hl}}}}{{hBj}Hj}{{{f{Hj}}{f{Hj}}}{{Ah{Fh}}}}{{{f{Hl}}{f{Hl}}}{{Ah{Fh}}}}{{{f{Hn}}{f{Hn}}}{{Ah{Fh}}}}{{{f{Aj}}}{{Ah{Ad}}}}{{{f{Hn}}}Bj}{{{f{bAj}}{f{b{Bn{Gj}}}}}{{A`{I`Hf}}}}{{{f{bHh}}Af}l}{{{f{bHh}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Hj}}}{{f{h}}}}{{{f{C`}}Fb}{{A`{lHf}}}}{{{f{c}}}e{}{}}000{{{f{c}}}Cl{}}0000{{{f{Aj}}}{{A`{AjHf}}}}{c{{A`{e}}}{}{}}0000{{{Ef{ClBj}}}{{A`{Hnc}}}{}}11111111111{{{f{c}}}{{A`{CnD`}}}{}}000022222222{{{f{c}}}Db{}}0000000{{{f{bHh}}}{{A`{{Df{Dd}}n}}}}{{{f{Hj}}}Bj}{ce{}{}}0000000{{{f{bc}}{f{{Bn{Gj}}}}}{{A`{lIb}}}{}}{{{f{bAj}}{f{{Bn{Gj}}}}}{{A`{I`Hf}}}}`````","D":"ALd","p":[[0,"mut"],[5,"ArtiClientTorClient",8],[1,"reference"],[5,"V3OnionServiceId",495],[5,"X25519PrivateKey",495],[1,"unit"],[6,"Error",734],[6,"Result",969],[10,"Any",970],[6,"TargetAddr",734],[8,"CircuitToken",734],[6,"Option",971],[5,"OnionStream",734],[6,"Error",8],[5,"Formatter",972],[8,"Result",972],[5,"Box",973],[5,"Arc",974],[5,"Rc",975],[5,"Ed25519PrivateKey",495],[1,"u16"],[5,"X25519PublicKey",495],[1,"slice"],[5,"OnionListener",734],[5,"Runtime",976],[5,"Path",977],[5,"ReportHelper",978],[5,"Report",978],[10,"Error",979],[5,"String",980],[5,"Slug",981],[6,"BadSlug",981],[5,"TypeId",970],[6,"TorEvent",734],[5,"Vec",982],[5,"Private",983],[5,"PluggableTransportConfig",65],[5,"BridgeLine",65],[6,"SocketAddr",984],[6,"PluggableTransportConfigError",65],[6,"BridgeLineError",65],[1,"str"],[1,"tuple"],[5,"PathBuf",977],[5,"LegacyTorClient",169],[6,"LegacyTorClientConfig",169],[6,"Error",169],[5,"LegacyTorVersion",277],[1,"bool"],[6,"Error",277],[1,"u32"],[6,"Ordering",985],[5,"MockTorClient",324],[6,"Error",324],[5,"Socks4ProxyConfig",381],[5,"Socks5ProxyConfig",381],[5,"HttpsProxyConfig",381],[6,"ProxyConfig",381],[6,"ProxyConfigError",381],[5,"Ed25519PublicKey",495],[1,"u8"],[1,"array"],[5,"Ed25519Signature",495],[6,"SignBit",495],[6,"Error",495],[10,"Hasher",986],[5,"Error",987],[10,"TorProvider",734],[5,"OnionAddrV3",734],[6,"OnionAddr",734],[5,"DomainAddr",734],[1,"usize"],[5,"Error",988],[15,"BundledTor",268],[15,"SystemTor",268],[15,"LogReceived",964],[15,"BootstrapStatus",964],[15,"OnionServicePublished",964]],"r":[],"b":[[33,"impl-Display-for-Error"],[34,"impl-Debug-for-Error"],[108,"impl-Display-for-PluggableTransportConfigError"],[109,"impl-Debug-for-PluggableTransportConfigError"],[111,"impl-Display-for-BridgeLineError"],[112,"impl-Debug-for-BridgeLineError"],[223,"impl-Debug-for-Error"],[224,"impl-Display-for-Error"],[293,"impl-Display-for-Error"],[294,"impl-Debug-for-Error"],[349,"impl-Debug-for-Error"],[350,"impl-Display-for-Error"],[426,"impl-Display-for-ProxyConfigError"],[427,"impl-Debug-for-ProxyConfigError"],[436,"impl-From%3CSocks4ProxyConfig%3E-for-ProxyConfig"],[437,"impl-From%3CHttpsProxyConfig%3E-for-ProxyConfig"],[439,"impl-From%3CSocks5ProxyConfig%3E-for-ProxyConfig"],[602,"impl-Debug-for-Error"],[603,"impl-Display-for-Error"],[608,"impl-Debug-for-V3OnionServiceId"],[609,"impl-Display-for-V3OnionServiceId"],[829,"impl-Debug-for-Error"],[830,"impl-Display-for-Error"],[831,"impl-Display-for-OnionAddrV3"],[832,"impl-Debug-for-OnionAddrV3"],[833,"impl-Debug-for-OnionAddr"],[834,"impl-Display-for-OnionAddr"],[835,"impl-Display-for-DomainAddr"],[836,"impl-Debug-for-DomainAddr"],[837,"impl-Debug-for-TargetAddr"],[838,"impl-Display-for-TargetAddr"],[843,"impl-From%3CError%3E-for-Error"],[844,"impl-From%3CError%3E-for-Error"],[845,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcCOQAJAAMADwAUACYAAAApAAYAMQAQAFAAAQBUAAcAXQANAGwABQB2AAAAewALAIwABQCUABsAsQACALUALQDmAAAA6gAJAPUAEwAKAQsAGAEPACoBAAAtAQUANAETAEoBFQBiAQAAZQEGAG0BEACHASkAtQEBALgBAAC+AQ4A0AEfAP0BAAALAhcAJgI8AGsCAAB9AgEAhwIXAKACAQCqAioA1wIHAPICBAD5Ag8ACgMhAC0DAQAwAxgATAMCAFIDAABVAwIAWQMCAGQDFgB+AwIAgwMAAIYDAACJAwgAkwMlALsDCQA="}]\
+["tor_interface",{"t":"CCCCCCCCPPPPFGPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPFGPPPFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPPPPGPPPFGPPPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOGFPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPPGFPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPFGGPFPFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPSSSSSSSFFFGPPPGFSSFFSSSSSSPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPIPFGPPGFFPPFPPGGKPNNNNNMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNOOOOO","n":["arti_client_tor_client","censorship_circumvention","legacy_tor_client","legacy_tor_version","mock_tor_client","proxy","tor_crypto","tor_provider","ArtiClientConfigBuilderError","ArtiClientError","ArtiClientOnionServiceLaunchError","ArtiClientTorAddrError","ArtiClientTorClient","Error","NotImplemented","OnionServiceConfigBuilderError","TcpListenerAcceptFailed","TcpListenerBindFailed","TcpListenerLocalAddrFailed","TcpStreamConnectFailed","TcpStreamIntoFailed","TorKeyMgrError","add_client_auth","as_any","as_any","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow_mut","borrow_mut","connect","fmt","fmt","from","from","generate_token","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","update","vzip","vzip","AddressMissing","AddressParseFailed","AddressPortInvalid","BinaryPathInvalid","BridgeLine","BridgeLineError","FingerprintInvalid","FingerprintMissing","KeyValueInvalid","PluggableTransportConfig","PluggableTransportConfigError","TransportMissing","TransportNameInvalid","TransportNameInvalid","__clone_box","__clone_box","add_option","address","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_legacy_tor_setconf_value","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","clone_to_uninit","clone_to_uninit","fingerprint","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_str","into","into","into","into","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","keyvalues","new","new","options","path_to_binary","report","report","to_owned","to_owned","to_string","to_string","transport","transports","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","AddOnionFailed","BridgeTransportNotSupported","BridgeTransportTypeMultiplyDefined","BundledTor","CircuitTokenInvalid","DelOnionFailed","Error","GetInfoNetListenersSocksFailed","GetInfoVersionFailed","LegacyControlStreamCreationFailed","LegacyTorClient","LegacyTorClientConfig","LegacyTorControllerCreationFailed","LegacyTorNotBootstrapped","LegacyTorProcessAuthenticationFailed","LegacyTorProcessCreationFailed","LegacyTorProcessTooOld","NoSocksListenersFound","NotImplemented","OnionClientAuthAddFailed","OnionClientAuthRemoveFailed","PluggableTransportBinaryNameNotUtf8Representnable","PluggableTransportConfigDirectoryCreationFailed","PluggableTransportConfigError","PluggableTransportDirectoryNameCollision","PluggableTransportSymlinkCreationFailed","PluggableTransportSymlinkRemovalFailed","SetConfDisableNetwork0Failed","SetConfFailed","SetEventsFailed","Socks5ConnectionFailed","SystemTor","TcpListenerBindFailed","TcpListenerLocalAddrFailed","WaitAsyncEventsFailed","__clone_box","add_client_auth","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","connect","fmt","fmt","fmt","from","from","from","generate_token","into","into","into","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","update","version","vzip","vzip","vzip","allowed_ports","bridge_lines","data_directory","pluggable_transports","proxy_settings","tor_bin_path","tor_control_addr","tor_control_passwd","tor_socks_addr","Error","LegacyTorVersion","ParseError","__clone_box","as_any","as_any","as_any_mut","as_any_mut","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","clone_to_uninit","eq","fmt","fmt","from","from","from_str","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","new","partial_cmp","report","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","vzip","vzip","ClientAlreadyBootstrapped","ClientNotBootstrapped","ConnectFailed","Error","MockTorClient","NotImplemented","OnionServiceAuthInvalid","OnionServiceNotFound","OnionServiceNotPublished","OnionServiceRequiresOnionAuth","TcpListenerBindFailed","TcpListenerLocalAddrFailed","add_client_auth","as_any","as_any","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow_mut","borrow_mut","connect","default","drop","fmt","fmt","from","from","generate_token","into","into","into_any","into_any","into_any_arc","into_any_arc","into_any_rc","into_any_rc","listener","new","release_token","remove_client_auth","report","source","to_string","try_from","try_from","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","type_id","type_id","update","vzip","vzip","Generic","Https","HttpsProxyConfig","ProxyConfig","ProxyConfigError","Socks4","Socks4ProxyConfig","Socks5","Socks5ProxyConfig","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","new","new","new","report","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","ConversionError","ED25519_PRIVATE_KEYBLOB_BASE64_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_HEADER_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_LENGTH","ED25519_PRIVATE_KEY_KEYBLOB_SIZE","ED25519_PRIVATE_KEY_SIZE","ED25519_PUBLIC_KEY_SIZE","ED25519_SIGNATURE_SIZE","Ed25519PrivateKey","Ed25519PublicKey","Ed25519Signature","Error","KeyInvalid","One","ParseError","SignBit","V3OnionServiceId","V3_ONION_SERVICE_ID_STRING_LENGTH","V3_ONION_SERVICE_ID_STRING_SIZE","X25519PrivateKey","X25519PublicKey","X25519_PRIVATE_KEY_BASE64_LENGTH","X25519_PRIVATE_KEY_BASE64_SIZE","X25519_PRIVATE_KEY_SIZE","X25519_PUBLIC_KEY_BASE32_LENGTH","X25519_PUBLIC_KEY_BASE32_SIZE","X25519_PUBLIC_KEY_SIZE","Zero","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_bytes","as_bytes","as_bytes","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","compare","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_base32","from_base64","from_key_blob","from_private_key","from_private_key","from_private_key","from_private_x25519","from_public_key","from_raw","from_raw","from_raw","from_raw","from_raw","from_service_id","from_string","generate","generate","hash","hash","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","is_valid","partial_cmp","report","sign_message","sign_message","to_base32","to_base64","to_bytes","to_bytes","to_bytes","to_key_blob","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify","verify_x25519","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BootstrapComplete","BootstrapStatus","CircuitToken","Domain","DomainAddr","Error","Generic","LogReceived","OnionAddr","OnionAddrV3","OnionListener","OnionService","OnionServicePublished","OnionStream","ParseFailure","Socket","TargetAddr","TorEvent","TorProvider","V3","__clone_box","__clone_box","__clone_box","__clone_box","accept","add_client_auth","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","as_any_mut","bootstrap","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_to_uninit","clone_to_uninit","clone_to_uninit","clone_to_uninit","cmp","cmp","cmp","compare","compare","compare","connect","deref","deref_mut","domain","drop","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","flush","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_str","from_str","from_str","generate_token","hash","hash","hash","into","into","into","into","into","into","into","into","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_arc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","into_any_rc","listener","local_addr","new","partial_cmp","partial_cmp","partial_cmp","peer_addr","port","read","release_token","remove_client_auth","report","service_id","set_nonblocking","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","try_clone","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into_slug","try_into_slug","try_into_slug","try_into_slug","try_into_slug","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","try_octets_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update","virt_port","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write","write","line","progress","service_id","summary","tag"],"q":[[0,"tor_interface"],[8,"tor_interface::arti_client_tor_client"],[65,"tor_interface::censorship_circumvention"],[169,"tor_interface::legacy_tor_client"],[268,"tor_interface::legacy_tor_client::LegacyTorClientConfig"],[277,"tor_interface::legacy_tor_version"],[324,"tor_interface::mock_tor_client"],[381,"tor_interface::proxy"],[495,"tor_interface::tor_crypto"],[734,"tor_interface::tor_provider"],[964,"tor_interface::tor_provider::TorEvent"],[969,"core::result"],[970,"core::any"],[971,"core::option"],[972,"core::fmt"],[973,"alloc::boxed"],[974,"alloc::sync"],[975,"alloc::rc"],[976,"tokio::runtime::runtime"],[977,"std::path"],[978,"tor_error::report"],[979,"core::error"],[980,"alloc::string"],[981,"tor_persist::slug"],[982,"alloc::vec"],[983,"dyn_clone::sealed"],[984,"core::net::socket_addr"],[985,"core::cmp"],[986,"core::hash"],[987,"std::io::error"],[988,"der::error"]],"i":[0,0,0,0,0,0,0,0,14,14,14,14,0,0,14,14,14,14,14,14,14,14,2,2,14,2,14,2,2,14,2,14,2,14,14,2,14,2,2,14,2,14,2,14,2,14,2,2,2,2,14,14,14,2,14,2,14,14,2,14,2,14,2,2,14,41,41,41,40,0,0,41,41,41,0,0,41,40,41,37,38,37,38,37,40,38,41,37,40,38,41,38,37,40,38,41,37,40,38,41,37,38,37,38,37,38,38,37,40,40,38,41,41,37,40,38,41,38,37,40,38,41,37,40,38,41,37,40,38,41,37,40,38,41,38,37,38,37,37,40,41,37,38,40,41,38,37,37,40,38,41,37,40,38,41,40,41,37,40,38,41,37,40,38,41,37,40,38,41,47,47,47,46,47,47,0,47,47,47,0,0,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,46,47,47,47,46,45,45,47,46,45,47,46,45,45,47,46,45,47,46,46,46,46,45,47,47,46,45,47,46,45,45,47,46,45,47,46,45,47,46,45,47,46,45,45,45,45,47,47,46,47,45,47,46,45,47,46,47,45,47,46,45,47,46,45,45,45,47,46,74,74,74,74,74,74,75,75,75,0,0,50,48,50,48,50,48,50,48,50,48,48,48,48,48,50,50,50,48,48,50,48,50,48,50,48,50,48,48,48,50,48,50,48,50,48,50,48,50,48,50,48,50,48,50,48,54,54,54,0,0,54,54,54,54,54,54,54,53,53,54,53,54,53,53,54,53,54,53,53,53,54,54,53,54,53,53,54,53,54,53,54,53,54,53,53,53,53,54,54,54,53,54,53,54,54,53,54,53,54,53,53,54,59,58,0,0,0,58,0,58,0,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,55,56,57,58,55,56,57,58,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,58,58,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,55,56,57,59,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,59,59,55,56,57,58,59,55,56,57,58,59,55,56,57,58,65,0,0,0,0,0,0,0,0,0,0,0,65,64,65,0,0,0,0,0,0,0,0,0,0,0,0,64,20,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,60,22,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,60,63,5,22,4,64,20,60,63,5,22,4,64,20,60,63,5,22,4,64,64,4,4,20,60,63,5,22,4,22,22,22,4,4,4,20,65,65,60,63,5,22,4,4,20,65,60,63,5,22,4,64,64,22,5,20,60,22,4,20,4,20,60,63,5,22,60,4,20,5,22,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,4,4,65,20,5,22,5,20,63,5,20,20,60,63,5,22,4,64,65,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,65,4,20,65,60,63,5,22,4,64,20,65,60,63,5,22,4,64,63,63,20,65,60,63,5,22,4,64,34,34,0,10,0,0,7,34,0,0,0,10,34,0,7,10,0,0,0,70,69,70,71,10,24,68,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,69,70,71,10,69,70,71,10,69,70,71,10,69,70,71,69,70,71,68,13,13,71,24,69,70,71,69,69,69,70,70,70,71,71,71,13,7,7,69,69,70,70,71,71,10,10,34,13,24,7,7,7,7,69,70,71,10,10,34,70,71,10,68,69,70,71,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,13,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,13,69,69,70,71,13,71,13,68,68,7,69,24,69,70,71,10,7,69,70,71,10,13,13,24,7,69,70,71,71,10,34,13,24,7,69,70,71,10,34,7,69,70,71,10,13,24,7,69,70,71,10,34,13,24,7,69,70,71,10,34,68,69,13,24,7,69,70,71,10,34,13,13,76,77,78,77,77],"f":"``````````````````````{{{f{bd}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{bd}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{bd}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{Al}}{f{bAn}}}B`}0{cc{}}0{{{f{bd}}}Af}{ce{}{}}0{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{{f{bd}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{{{Bd{Cb}}{f{Cd}}}{{A`{dAl}}}}{{{f{bd}}Af}l}{{{f{bd}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Al}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}11{{{f{c}}}Db{}}0{{{f{bd}}}{{A`{{Df{Dd}}n}}}}>>``````````````{{{f{c}}Dh}l{}}0{{{f{bDj}}Cl}l}{{{f{Dl}}}{{f{Dn}}}}{{{f{c}}}{{f{Ab}}}{}}000{{{f{bc}}}{{f{bAb}}}{}}000{{{f{Dl}}}Cl}{{{f{c}}}{{f{e}}}{}{}}000{{{f{bc}}}{{f{be}}}{}{}}000{{{f{Dj}}}Dj}{{{f{Dl}}}Dl}{{{f{c}}{f{be}}}l{}{}}0{{{f{c}}}l{}}0{{{f{Dl}}}{{f{Cl}}}}{{{f{Dj}}{f{bAn}}}B`}{{{f{E`}}{f{bAn}}}B`}0{{{f{Dl}}{f{bAn}}}B`}{{{f{Eb}}{f{bAn}}}B`}0{cc{}}000{{{f{Ed}}}{{A`{Dlc}}}{}}{ce{}{}}000{{{Bb{c}}}{{Bb{Ab}}}{}}000{{{Bd{c}}}{{Bd{Ab}}}{}}000{{{Bf{c}}}{{Bf{Ab}}}{}}000{{{f{Dl}}}{{f{{Df{{Ef{ClCl}}}}}}}}{{{Df{Cl}}Eh}{{A`{DjE`}}}}{{ClDnCl{Df{{Ef{ClCl}}}}}{{A`{DlEb}}}}{{{f{Dj}}}{{f{{Df{Cl}}}}}}{{{f{Dj}}}{{f{Eh}}}}{{{f{c}}}{{Ch{Cf}}}{}}0{{{f{c}}}e{}{}}0{{{f{c}}}Cl{}}0{{{f{Dl}}}{{f{Cl}}}}5{c{{A`{e}}}{}{}}0000000{{{f{c}}}{{A`{CnD`}}}{}}01111{{{f{c}}}Db{}}000????```````````````````````````````````{{{f{c}}Dh}l{}}{{{f{bEj}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}00{{{f{bc}}}{{f{bAb}}}{}}00{{{f{bEj}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}00{{{f{bc}}}{{f{be}}}{}{}}00{{{f{El}}}El}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{bEj}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{En}}{f{bAn}}}B`}0{{{f{El}}{f{bAn}}}B`}{cc{}}00{{{f{bEj}}}Af}{ce{}{}}00{{{Bb{c}}}{{Bb{Ab}}}{}}00{{{Bd{c}}}{{Bd{Ab}}}{}}00{{{Bf{c}}}{{Bf{Ab}}}{}}00{{{f{bEj}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{El{{A`{EjEn}}}}{{{f{bEj}}Af}l}{{{f{bEj}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{En}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}e{}{}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}00000{{{f{c}}}{{A`{CnD`}}}{}}111{{{f{c}}}Db{}}00{{{f{bEj}}}{{A`{{Df{Dd}}n}}}}{{{f{bEj}}}F`}{ce{}{}}00````````````{{{f{c}}Dh}l{}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{F`}}}F`}{{{f{c}}{f{be}}}l{}{}}{{{f{c}}}l{}}{{{f{F`}}{f{F`}}}Fb}{{{f{Fd}}{f{bAn}}}B`}0{cc{}}0{{{f{Ed}}}{{A`{F`c}}}{}}<<{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{FfFfFf{Ah{Ff}}{Ah{{f{Ed}}}}}{{A`{F`Fd}}}}{{{f{F`}}{f{F`}}}{{Ah{Fh}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{c}}}e{}{}}{{{f{c}}}Cl{}}{{{f{F`}}}Cl}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}011{{{f{c}}}Db{}}0{ce{}{}}0````````````{{{f{bFj}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0{{{f{bc}}}{{f{bAb}}}{}}0{{{f{bFj}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0{{{f{bc}}}{{f{be}}}{}{}}0{{{f{bFj}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{}Fj}{{{f{bFj}}}l}{{{f{Fl}}{f{bAn}}}B`}0{cc{}}0{{{f{bFj}}}Af}<<{{{Bb{c}}}{{Bb{Ab}}}{}}0{{{Bd{c}}}{{Bd{Ab}}}{}}0{{{Bf{c}}}{{Bf{Ab}}}{}}0{{{f{bFj}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}8{{{f{bFj}}Af}l}{{{f{bFj}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Fl}}}{{Ah{{f{Cj}}}}}}{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000{{{f{c}}}{{A`{CnD`}}}{}}11{{{f{c}}}Db{}}0{{{f{bFj}}}{{A`{{Df{Dd}}n}}}}{ce{}{}}0`````````{{{f{c}}Dh}l{}}000{{{f{c}}}{{f{Ab}}}{}}0000{{{f{bc}}}{{f{bAb}}}{}}0000{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000{{{f{Fn}}}Fn}{{{f{G`}}}G`}{{{f{Gb}}}Gb}{{{f{Gd}}}Gd}{{{f{c}}{f{be}}}l{}{}}000{{{f{c}}}l{}}000{{{f{Gf}}{f{bAn}}}B`}0{{{f{Fn}}{f{bAn}}}B`}{{{f{G`}}{f{bAn}}}B`}{{{f{Gb}}{f{bAn}}}B`}{{{f{Gd}}{f{bAn}}}B`}{cc{}}000{FnGd}{GbGd}{G`Gd}3{ce{}{}}0000{{{Bb{c}}}{{Bb{Ab}}}{}}0000{{{Bd{c}}}{{Bd{Ab}}}{}}0000{{{Bf{c}}}{{Bf{Ab}}}{}}0000{Ad{{A`{FnGf}}}}{{Ad{Ah{Cl}}{Ah{Cl}}}{{A`{G`Gf}}}}{{Ad{Ah{Cl}}{Ah{Cl}}}{{A`{GbGf}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{c}}}e{}{}}000{{{f{c}}}Cl{}}{c{{A`{e}}}{}{}}000000000{{{f{c}}}{{A`{CnD`}}}{}}11111{{{f{c}}}Db{}}0000<<<<<````````````````````````````{{{f{c}}Dh}l{}}000000{{{f{c}}}{{f{Ab}}}{}}0000000{{{f{bc}}}{{f{bAb}}}{}}0000000{{{f{Gh}}}{{f{{Gl{Gj}}}}}}{{{f{Bl}}}{{f{{Gl{Gj}}}}}}{{{f{h}}}{{f{{Gl{Gj}}}}}}{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000{{{f{Bh}}}Bh}{{{f{Gh}}}Gh}{{{f{Gn}}}Gn}{{{f{j}}}j}{{{f{Bl}}}Bl}{{{f{h}}}h}{{{f{H`}}}H`}{{{f{c}}{f{be}}}l{}{}}000000{{{f{c}}}l{}}0000000{{{f{h}}{f{h}}}Fh}{{{f{c}}{f{e}}}Fh{}{}}{{{f{Bh}}{f{Bh}}}Fb}{{{f{Gh}}{f{Gh}}}Fb}{{{f{Gn}}{f{Gn}}}Fb}{{{f{j}}{f{j}}}Fb}{{{f{Bl}}{f{Bl}}}Fb}{{{f{h}}{f{h}}}Fb}{{{f{c}}{f{e}}}Fb{}{}}00000{{{f{Bh}}{f{bAn}}}B`}{{{f{Hb}}{f{bAn}}}B`}0{{{f{Gh}}{f{bAn}}}B`}{{{f{Gn}}{f{bAn}}}B`}{{{f{j}}{f{bAn}}}B`}{{{f{Bl}}{f{bAn}}}B`}{{{f{h}}{f{bAn}}}B`}0{cc{}}000000{FbH`}1{{{f{Ed}}}{{A`{BlHb}}}}{{{f{Ed}}}{{A`{jHb}}}}{{{f{Ed}}}{{A`{BhHb}}}}{{{f{Bh}}}Gh}{{{f{j}}}Bl}{{{f{Bh}}}h}{{{f{j}}}{{A`{{Ef{BhH`}}Hb}}}}{{{f{Gh}}}h}{{{f{{Gl{Gj}}}}}{{A`{BhHb}}}}{{{f{{Gl{Gj}}}}}{{A`{GhHb}}}}{{{f{{Gl{Gj}}}}}{{A`{GnHb}}}}{{{f{{Gl{Gj}}}}}{{A`{jHb}}}}{{{f{{Gl{Gj}}}}}Bl}{{{f{h}}}{{A`{GhHb}}}}{{{f{Ed}}}{{A`{hHb}}}}{{}Bh}{{}j}{{{f{Bl}}{f{bc}}}lHd}{{{f{h}}{f{bc}}}lHd}{ce{}{}}0000000{{{Bb{c}}}{{Bb{Ab}}}{}}0000000{{{Bd{c}}}{{Bd{Ab}}}{}}0000000{{{Bf{c}}}{{Bf{Ab}}}{}}0000000{{{f{Ed}}}Fb}{{{f{h}}{f{h}}}{{Ah{Fh}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Bh}}{f{{Bn{Gj}}}}}Gn}{{{f{j}}{f{{Bn{Gj}}}}}{{A`{{Ef{GnH`}}Hb}}}}{{{f{Bl}}}Cl}{{{f{j}}}Cl}{{{f{Bh}}}{{Gl{Gj}}}}{{{f{Gn}}}{{Gl{Gj}}}}{{{f{j}}}{{Gl{Gj}}}}{{{f{Bh}}}Cl}{{{f{c}}}e{}{}}000000{{{f{c}}}Cl{}}0{c{{A`{e}}}{}{}}000000000000000{{{f{c}}}{{A`{CnD`}}}{}}011111111{{{f{c}}}Db{}}0000000{{{f{Gn}}{f{{Bn{Gj}}}}{f{Gh}}}Fb}{{{f{Gn}}{f{{Bn{Gj}}}}{f{Bl}}H`}Fb}{ce{}{}}0000000````````````````````{{{f{c}}Dh}l{}}000{{{f{C`}}}{{A`{{Ah{Aj}}Hf}}}}{{{f{bHh}}{f{h}}{f{j}}}{{A`{ln}}}}{{{f{c}}}{{f{Ab}}}{}}0000000{{{f{bc}}}{{f{bAb}}}{}}0000000{{{f{bHh}}}{{A`{ln}}}}{{{f{c}}}{{f{e}}}{}{}}0000000{{{f{bc}}}{{f{be}}}{}{}}0000000{{{f{Hj}}}Hj}{{{f{Hl}}}Hl}{{{f{Hn}}}Hn}{{{f{Ad}}}Ad}{{{f{c}}{f{be}}}l{}{}}000{{{f{c}}}l{}}000{{{f{Hj}}{f{Hj}}}Fh}{{{f{Hl}}{f{Hl}}}Fh}{{{f{Hn}}{f{Hn}}}Fh}{{{f{c}}{f{e}}}Fh{}{}}00{{{f{bHh}}Ad{Ah{Af}}}{{A`{Ajn}}}}{{{f{Aj}}}{{f{c}}}{}}{{{f{bAj}}}{{f{bc}}}{}}{{{f{Hn}}}{{f{Ed}}}}{{{f{bC`}}}l}{{{f{Hj}}{f{Hj}}}Fb}{{{f{Hl}}{f{Hl}}}Fb}{{{f{Hn}}{f{Hn}}}Fb}{{{f{c}}{f{e}}}Fb{}{}}00000000{{{f{bAj}}}{{A`{lHf}}}}{{{f{n}}{f{bAn}}}B`}0{{{f{Hj}}{f{bAn}}}B`}0{{{f{Hl}}{f{bAn}}}B`}0{{{f{Hn}}{f{bAn}}}B`}0{{{f{Ad}}{f{bAn}}}B`}0{{{f{Dd}}{f{bAn}}}B`}{cc{}}00{Fln}{Enn}{Aln}3333{{{Ef{hBj}}}Ad}4{{{f{Ed}}}{{A`{Hlc}}}{}}{{{f{Ed}}}{{A`{Hnc}}}{}}{{{f{Ed}}}{{A`{Adc}}}{}}{{{f{bHh}}}Af}{{{f{Hj}}{f{bc}}}lHd}{{{f{Hl}}{f{bc}}}lHd}{{{f{Hn}}{f{bc}}}lHd}{ce{}{}}0000000{{{Bb{c}}}{{Bb{Ab}}}{}}0000000{{{Bd{c}}}{{Bd{Ab}}}{}}000000{{{Bf{c}}}{{Bf{Ab}}}{}}0000000{{{f{bHh}}{f{Bh}}Bj{Ah{{f{{Bn{Bl}}}}}}}{{A`{C`n}}}}{{{f{Aj}}}{{Ah{Hl}}}}{{hBj}Hj}{{{f{Hj}}{f{Hj}}}{{Ah{Fh}}}}{{{f{Hl}}{f{Hl}}}{{Ah{Fh}}}}{{{f{Hn}}{f{Hn}}}{{Ah{Fh}}}}{{{f{Aj}}}{{Ah{Ad}}}}{{{f{Hn}}}Bj}{{{f{bAj}}{f{b{Bn{Gj}}}}}{{A`{I`Hf}}}}{{{f{bHh}}Af}l}{{{f{bHh}}{f{h}}}{{A`{ln}}}}{{{f{c}}}{{Ch{Cf}}}{}}{{{f{Hj}}}{{f{h}}}}{{{f{C`}}Fb}{{A`{lHf}}}}{{{f{c}}}e{}{}}000{{{f{c}}}Cl{}}0000{{{f{Aj}}}{{A`{AjHf}}}}{c{{A`{e}}}{}{}}00000{{{Ef{ClBj}}}{{A`{Hnc}}}{}}1111111111{{{f{c}}}{{A`{CnD`}}}{}}000022222222{{{f{c}}}Db{}}0000000{{{f{bHh}}}{{A`{{Df{Dd}}n}}}}{{{f{Hj}}}Bj}{ce{}{}}0000000{{{f{bc}}{f{{Bn{Gj}}}}}{{A`{lIb}}}{}}{{{f{bAj}}{f{{Bn{Gj}}}}}{{A`{I`Hf}}}}`````","D":"ALd","p":[[0,"mut"],[5,"ArtiClientTorClient",8],[1,"reference"],[5,"V3OnionServiceId",495],[5,"X25519PrivateKey",495],[1,"unit"],[6,"Error",734],[6,"Result",969],[10,"Any",970],[6,"TargetAddr",734],[8,"CircuitToken",734],[6,"Option",971],[5,"OnionStream",734],[6,"Error",8],[5,"Formatter",972],[8,"Result",972],[5,"Box",973],[5,"Arc",974],[5,"Rc",975],[5,"Ed25519PrivateKey",495],[1,"u16"],[5,"X25519PublicKey",495],[1,"slice"],[5,"OnionListener",734],[5,"Runtime",976],[5,"Path",977],[5,"ReportHelper",978],[5,"Report",978],[10,"Error",979],[5,"String",980],[5,"Slug",981],[6,"BadSlug",981],[5,"TypeId",970],[6,"TorEvent",734],[5,"Vec",982],[5,"Private",983],[5,"PluggableTransportConfig",65],[5,"BridgeLine",65],[6,"SocketAddr",984],[6,"PluggableTransportConfigError",65],[6,"BridgeLineError",65],[1,"str"],[1,"tuple"],[5,"PathBuf",977],[5,"LegacyTorClient",169],[6,"LegacyTorClientConfig",169],[6,"Error",169],[5,"LegacyTorVersion",277],[1,"bool"],[6,"Error",277],[1,"u32"],[6,"Ordering",985],[5,"MockTorClient",324],[6,"Error",324],[5,"Socks4ProxyConfig",381],[5,"Socks5ProxyConfig",381],[5,"HttpsProxyConfig",381],[6,"ProxyConfig",381],[6,"ProxyConfigError",381],[5,"Ed25519PublicKey",495],[1,"u8"],[1,"array"],[5,"Ed25519Signature",495],[6,"SignBit",495],[6,"Error",495],[10,"Hasher",986],[5,"Error",987],[10,"TorProvider",734],[5,"OnionAddrV3",734],[6,"OnionAddr",734],[5,"DomainAddr",734],[1,"usize"],[5,"Error",988],[15,"BundledTor",268],[15,"SystemTor",268],[15,"LogReceived",964],[15,"BootstrapStatus",964],[15,"OnionServicePublished",964]],"r":[],"b":[[33,"impl-Display-for-Error"],[34,"impl-Debug-for-Error"],[108,"impl-Debug-for-PluggableTransportConfigError"],[109,"impl-Display-for-PluggableTransportConfigError"],[111,"impl-Debug-for-BridgeLineError"],[112,"impl-Display-for-BridgeLineError"],[223,"impl-Display-for-Error"],[224,"impl-Debug-for-Error"],[293,"impl-Debug-for-Error"],[294,"impl-Display-for-Error"],[349,"impl-Display-for-Error"],[350,"impl-Debug-for-Error"],[426,"impl-Display-for-ProxyConfigError"],[427,"impl-Debug-for-ProxyConfigError"],[436,"impl-From%3CSocks4ProxyConfig%3E-for-ProxyConfig"],[437,"impl-From%3CHttpsProxyConfig%3E-for-ProxyConfig"],[438,"impl-From%3CSocks5ProxyConfig%3E-for-ProxyConfig"],[602,"impl-Debug-for-Error"],[603,"impl-Display-for-Error"],[608,"impl-Debug-for-V3OnionServiceId"],[609,"impl-Display-for-V3OnionServiceId"],[829,"impl-Display-for-Error"],[830,"impl-Debug-for-Error"],[831,"impl-Display-for-OnionAddrV3"],[832,"impl-Debug-for-OnionAddrV3"],[833,"impl-Debug-for-OnionAddr"],[834,"impl-Display-for-OnionAddr"],[835,"impl-Display-for-DomainAddr"],[836,"impl-Debug-for-DomainAddr"],[837,"impl-Display-for-TargetAddr"],[838,"impl-Debug-for-TargetAddr"],[843,"impl-From%3CError%3E-for-Error"],[844,"impl-From%3CError%3E-for-Error"],[845,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcCOAAJAAMADwAUACYAAAApAAYAMQAQAFAAAQBUAAcAXQANAGwABQB2AAAAewALAIwABQCUABsAsQACALUALQDmAAAA6gAJAPUAEwAKAQsAGAEPACoBAAAtAQUANAETAEoBFQBiAQAAZQEGAG0BEACHASkAtQECAL4BDgDQAR8A/QEAAAsCFwAmAjwAagIAAH0CAQCHAhcAoAIBAKoCKgDXAgcA8gIEAPkCDwAKAyEALQMBADADGABMAwIAUwMAAFUDAgBZAwIAZAMWAH4DAgCDAwAAhgMAAIkDCACTAyUAuwMJAA=="}]\
]'));
if (typeof exports !== 'undefined') exports.searchIndex = searchIndex;
else if (window.initSearch) window.initSearch(searchIndex);
diff --git a/crates/tor_interface/arti_client_tor_client/enum.Error.html b/crates/tor_interface/arti_client_tor_client/enum.Error.html
index 790c5b92..5473cfde 100644
--- a/crates/tor_interface/arti_client_tor_client/enum.Error.html
+++ b/crates/tor_interface/arti_client_tor_client/enum.Error.html
@@ -1,4 +1,4 @@
-Error in tor_interface::arti_client_tor_client - Rust pub enum Error {
+Error in tor_interface::arti_client_tor_client - Rust pub enum Error {
NotImplemented(),
TcpListenerBindFailed(Error ),
TcpListenerLocalAddrFailed(Error ),
@@ -13,7 +13,14 @@
OnionServiceConfigBuilderError(ConfigBuildError),
}
Expand description Formats the value using the given formatter.
Read more Formats the value using the given formatter.
Read more The lower-level source of this error, if any.
Read more 👎 Deprecated since 1.42.0: use the Display impl or to_string()
👎 Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬 This is a nightly-only experimental API. (error_generic_member_access
)
Provides type based access to context intended for error reports.
Read more Converts to this type from the input type.
Immutably borrows from an owned value.
Read more Mutably borrows from an owned value.
Read more Converts
self
into
T
using
Into<T>
.
Read more