=======================
reference documentation
=======================

`single-page version`__

__ single-page-ref.html

.. container:: main-toc

	.. rubric:: Session

	| `session_handle`__
	| `session_proxy`__
	| `session`__
	| `session_params`__
	| `write_session_params_buf()`__
	| `write_session_params()`__
	| `read_session_params()`__


	__ reference-Session.html#session_handle
	__ reference-Session.html#session_proxy
	__ reference-Session.html#session
	__ reference-Session.html#session_params
	__ reference-Session.html#write_session_params_buf()
	__ reference-Session.html#write_session_params()
	__ reference-Session.html#read_session_params()

	.. rubric:: Settings

	| overview__
	| `settings_pack`__
	| `setting_by_name()`__
	| `name_for_setting()`__
	| `default_settings()`__
	| `min_memory_usage()`__
	| `high_performance_seed()`__
	| `generate_fingerprint()`__

	__ reference-Settings.html#overview

	__ reference-Settings.html#settings_pack
	__ reference-Settings.html#setting_by_name()
	__ reference-Settings.html#name_for_setting()
	__ reference-Settings.html#default_settings()
	__ reference-Settings.html#min_memory_usage()
	__ reference-Settings.html#high_performance_seed()
	__ reference-Settings.html#generate_fingerprint()

	.. rubric:: Trackers

	| `announce_infohash`__
	| `announce_endpoint`__
	| `announce_entry`__


	__ reference-Trackers.html#announce_infohash
	__ reference-Trackers.html#announce_endpoint
	__ reference-Trackers.html#announce_entry

	.. rubric:: Torrent Status

	| `torrent_status`__


	__ reference-Torrent_Status.html#torrent_status

	.. rubric:: Core

	| `peer_request`__
	| `piece_block`__
	| `info_hash_t`__
	| `peer_info`__
	| `version()`__
	| `truncate_files()`__
	| `make_magnet_uri()`__
	| `parse_magnet_uri()`__
	| `load_torrent_parsed()`__
	| `load_torrent_buffer()`__
	| `load_torrent_file()`__
	| `connection_type`__
	| `event_t`__
	| `portmap_transport`__
	| `portmap_protocol`__
	| `protocol_version`__
	| `socket_type_t`__
	| `torrent_flags_t`__
	| `pex_flags_t`__
	| `int`__
	| `char const*`__
	| `std::uint64_t`__
	| `download_priority_t`__


	__ reference-Core.html#peer_request
	__ reference-Core.html#piece_block
	__ reference-Core.html#info_hash_t
	__ reference-Core.html#peer_info
	__ reference-Core.html#version()
	__ reference-Core.html#truncate_files()
	__ reference-Core.html#make_magnet_uri()
	__ reference-Core.html#parse_magnet_uri()
	__ reference-Core.html#load_torrent_parsed()
	__ reference-Core.html#load_torrent_buffer()
	__ reference-Core.html#load_torrent_file()
	__ reference-Core.html#connection_type
	__ reference-Core.html#event_t
	__ reference-Core.html#portmap_transport
	__ reference-Core.html#portmap_protocol
	__ reference-Core.html#protocol_version
	__ reference-Core.html#socket_type_t
	__ reference-Core.html#torrent_flags_t
	__ reference-Core.html#pex_flags_t
	__ reference-Alerts.html#int
	__ reference-Core.html#char const*
	__ reference-Core.html#std::uint64_t
	__ reference-Core.html#download_priority_t

	.. rubric:: Stats

	| `stats_metric`__
	| `counters`__
	| `session_stats_metrics()`__
	| `find_metric_idx()`__
	| `metric_type_t`__


	__ reference-Stats.html#stats_metric
	__ reference-Stats.html#counters
	__ reference-Stats.html#session_stats_metrics()
	__ reference-Stats.html#find_metric_idx()
	__ reference-Stats.html#metric_type_t

	.. rubric:: Torrent Handle

	| `block_info`__
	| `partial_piece_info`__
	| `torrent_handle`__
	| `hash_value()`__


	__ reference-Torrent_Handle.html#block_info
	__ reference-Torrent_Handle.html#partial_piece_info
	__ reference-Torrent_Handle.html#torrent_handle
	__ reference-Torrent_Handle.html#hash_value()

	.. rubric:: Add Torrent

	| `add_torrent_params`__
	| `client_data_t`__


	__ reference-Add_Torrent.html#add_torrent_params
	__ reference-Add_Torrent.html#client_data_t

	.. rubric:: Torrent Info

	| `web_seed_entry`__
	| `load_torrent_limits`__
	| `torrent_info`__


	__ reference-Torrent_Info.html#web_seed_entry
	__ reference-Torrent_Info.html#load_torrent_limits
	__ reference-Torrent_Info.html#torrent_info

	.. rubric:: DHT

	| `dht_storage_counters`__
	| `dht_storage_interface`__
	| `dht_state`__
	| `dht_default_storage_constructor()`__
	| `sign_mutable_item()`__
	| `announce_flags_t`__


	__ reference-DHT.html#dht_storage_counters
	__ reference-DHT.html#dht_storage_interface
	__ reference-DHT.html#dht_state
	__ reference-DHT.html#dht_default_storage_constructor()
	__ reference-DHT.html#sign_mutable_item()
	__ reference-DHT.html#announce_flags_t

	.. rubric:: Resume Data

	| `write_resume_data_buf()`__
	| `write_resume_data()`__
	| `write_torrent_file()`__
	| `write_torrent_file_buf()`__
	| `read_resume_data()`__
	| `write_torrent_flags_t`__


	__ reference-Resume_Data.html#write_resume_data_buf()
	__ reference-Resume_Data.html#write_resume_data()
	__ reference-Resume_Data.html#write_torrent_file()
	__ reference-Resume_Data.html#write_torrent_file_buf()
	__ reference-Resume_Data.html#read_resume_data()
	__ reference-Resume_Data.html#write_torrent_flags_t

.. container:: main-toc

	.. rubric:: Bdecoding

	| `bdecode_node`__
	| `print_entry()`__
	| `bdecode()`__


	__ reference-Bdecoding.html#bdecode_node
	__ reference-Bdecoding.html#print_entry()
	__ reference-Bdecoding.html#bdecode()

	.. rubric:: Create Torrents

	| overview__
	| `create_torrent`__
	| `add_files()`__
	| `set_piece_hashes()`__

	__ reference-Create_Torrents.html#overview

	__ reference-Create_Torrents.html#create_torrent
	__ reference-Create_Torrents.html#add_files()
	__ reference-Create_Torrents.html#set_piece_hashes()

	.. rubric:: Bencoding

	| overview__
	| `entry`__
	| `bencode()`__
	| `operator<<()`__

	__ reference-Bencoding.html#overview

	__ reference-Bencoding.html#entry
	__ reference-Bencoding.html#bencode()
	__ reference-Bencoding.html#operator<<()

	.. rubric:: Filter

	| `ip_filter`__
	| `port_filter`__


	__ reference-Filter.html#ip_filter
	__ reference-Filter.html#port_filter

	.. rubric:: Error Codes

	| `storage_error`__
	| `bdecode_category()`__
	| `pcp_category()`__
	| `socks_category()`__
	| `i2p_category()`__
	| `upnp_category()`__
	| `gzip_category()`__
	| `libtorrent_category()`__
	| `http_category()`__
	| `error_code_enum`__
	| `pcp_errors`__
	| `socks_error_code`__
	| `i2p_error_code`__
	| `error_code_enum`__
	| `error_code_enum`__
	| `error_code_enum`__
	| `http_errors`__


	__ reference-Error_Codes.html#storage_error
	__ reference-Error_Codes.html#bdecode_category()
	__ reference-Error_Codes.html#pcp_category()
	__ reference-Error_Codes.html#socks_category()
	__ reference-Error_Codes.html#i2p_category()
	__ reference-Error_Codes.html#upnp_category()
	__ reference-Error_Codes.html#gzip_category()
	__ reference-Error_Codes.html#libtorrent_category()
	__ reference-Error_Codes.html#http_category()
	__ reference-Error_Codes.html#error_code_enum
	__ reference-Error_Codes.html#pcp_errors
	__ reference-Error_Codes.html#socks_error_code
	__ reference-Error_Codes.html#i2p_error_code
	__ reference-Error_Codes.html#error_code_enum
	__ reference-Error_Codes.html#error_code_enum
	__ reference-Error_Codes.html#error_code_enum
	__ reference-Error_Codes.html#http_errors

.. container:: main-toc

	.. rubric:: Custom Storage

	| overview__
	| `settings_interface`__
	| `buffer_allocator_interface`__
	| `disk_buffer_holder`__
	| `disk_observer`__
	| `open_file_state`__
	| `disk_interface`__
	| `storage_holder`__
	| `file_open_mode_t`__

	__ reference-Custom_Storage.html#overview

	__ reference-Custom_Storage.html#settings_interface
	__ reference-Custom_Storage.html#buffer_allocator_interface
	__ reference-Custom_Storage.html#disk_buffer_holder
	__ reference-Custom_Storage.html#disk_observer
	__ reference-Custom_Storage.html#open_file_state
	__ reference-Custom_Storage.html#disk_interface
	__ reference-Custom_Storage.html#storage_holder
	__ reference-Custom_Storage.html#file_open_mode_t

	.. rubric:: Utility

	| `hasher`__
	| `hasher256`__
	| `bitfield`__


	__ reference-Utility.html#hasher
	__ reference-Utility.html#hasher256
	__ reference-Utility.html#bitfield

	.. rubric:: PeerClass

	| `peer_class_type_filter`__
	| `peer_class_info`__


	__ reference-PeerClass.html#peer_class_type_filter
	__ reference-PeerClass.html#peer_class_info

	.. rubric:: Storage

	| `storage_params`__
	| `file_slice`__
	| `file_storage`__
	| `default_disk_io_constructor()`__
	| `posix_disk_io_constructor()`__
	| `mmap_disk_io_constructor()`__
	| `disabled_disk_io_constructor()`__
	| `storage_mode_t`__
	| `status_t`__
	| `move_flags_t`__


	__ reference-Storage.html#storage_params
	__ reference-Storage.html#file_slice
	__ reference-Storage.html#file_storage
	__ reference-Storage.html#default_disk_io_constructor()
	__ reference-Storage.html#posix_disk_io_constructor()
	__ reference-Storage.html#mmap_disk_io_constructor()
	__ reference-Storage.html#disabled_disk_io_constructor()
	__ reference-Storage.html#storage_mode_t
	__ reference-Storage.html#status_t
	__ reference-Storage.html#move_flags_t

	.. rubric:: Plugins

	| overview__
	| `peer_connection_handle`__
	| `bt_peer_connection_handle`__
	| `plugin`__
	| `torrent_plugin`__
	| `peer_plugin`__
	| `crypto_plugin`__
	| `create_ut_metadata_plugin()`__
	| `create_smart_ban_plugin()`__
	| `create_ut_pex_plugin()`__

	__ reference-Plugins.html#overview

	__ reference-Plugins.html#peer_connection_handle
	__ reference-Plugins.html#bt_peer_connection_handle
	__ reference-Plugins.html#plugin
	__ reference-Plugins.html#torrent_plugin
	__ reference-Plugins.html#peer_plugin
	__ reference-Plugins.html#crypto_plugin
	__ reference-Plugins.html#create_ut_metadata_plugin()
	__ reference-Plugins.html#create_smart_ban_plugin()
	__ reference-Plugins.html#create_ut_pex_plugin()

	.. rubric:: ed25519

	| `ed25519_create_seed()`__
	| `ed25519_create_keypair()`__
	| `ed25519_sign()`__
	| `ed25519_verify()`__
	| `ed25519_add_scalar()`__
	| `ed25519_key_exchange()`__


	__ reference-ed25519.html#ed25519_create_seed()
	__ reference-ed25519.html#ed25519_create_keypair()
	__ reference-ed25519.html#ed25519_sign()
	__ reference-ed25519.html#ed25519_verify()
	__ reference-ed25519.html#ed25519_add_scalar()
	__ reference-ed25519.html#ed25519_key_exchange()

.. container:: main-toc

	.. rubric:: Alerts

	| overview__
	| `dht_routing_bucket`__
	| `torrent_alert`__
	| `peer_alert`__
	| `tracker_alert`__
	| `torrent_removed_alert`__
	| `read_piece_alert`__
	| `file_completed_alert`__
	| `file_renamed_alert`__
	| `file_rename_failed_alert`__
	| `performance_alert`__
	| `state_changed_alert`__
	| `tracker_error_alert`__
	| `tracker_warning_alert`__
	| `scrape_reply_alert`__
	| `scrape_failed_alert`__
	| `tracker_reply_alert`__
	| `dht_reply_alert`__
	| `tracker_announce_alert`__
	| `hash_failed_alert`__
	| `peer_ban_alert`__
	| `peer_unsnubbed_alert`__
	| `peer_snubbed_alert`__
	| `peer_error_alert`__
	| `peer_connect_alert`__
	| `peer_disconnected_alert`__
	| `invalid_request_alert`__
	| `torrent_finished_alert`__
	| `piece_finished_alert`__
	| `request_dropped_alert`__
	| `block_timeout_alert`__
	| `block_finished_alert`__
	| `block_downloading_alert`__
	| `unwanted_block_alert`__
	| `storage_moved_alert`__
	| `storage_moved_failed_alert`__
	| `torrent_deleted_alert`__
	| `torrent_delete_failed_alert`__
	| `save_resume_data_alert`__
	| `save_resume_data_failed_alert`__
	| `torrent_paused_alert`__
	| `torrent_resumed_alert`__
	| `torrent_checked_alert`__
	| `url_seed_alert`__
	| `file_error_alert`__
	| `metadata_failed_alert`__
	| `metadata_received_alert`__
	| `udp_error_alert`__
	| `external_ip_alert`__
	| `listen_failed_alert`__
	| `listen_succeeded_alert`__
	| `portmap_error_alert`__
	| `portmap_alert`__
	| `portmap_log_alert`__
	| `fastresume_rejected_alert`__
	| `peer_blocked_alert`__
	| `dht_announce_alert`__
	| `dht_get_peers_alert`__
	| `cache_flushed_alert`__
	| `lsd_peer_alert`__
	| `trackerid_alert`__
	| `dht_bootstrap_alert`__
	| `torrent_error_alert`__
	| `torrent_need_cert_alert`__
	| `incoming_connection_alert`__
	| `add_torrent_alert`__
	| `state_update_alert`__
	| `session_stats_alert`__
	| `dht_error_alert`__
	| `dht_immutable_item_alert`__
	| `dht_mutable_item_alert`__
	| `dht_put_alert`__
	| `i2p_alert`__
	| `dht_outgoing_get_peers_alert`__
	| `log_alert`__
	| `torrent_log_alert`__
	| `peer_log_alert`__
	| `lsd_error_alert`__
	| `dht_lookup`__
	| `dht_stats_alert`__
	| `incoming_request_alert`__
	| `dht_log_alert`__
	| `dht_pkt_alert`__
	| `dht_get_peers_reply_alert`__
	| `dht_direct_response_alert`__
	| `picker_log_alert`__
	| `session_error_alert`__
	| `dht_live_nodes_alert`__
	| `session_stats_header_alert`__
	| `dht_sample_infohashes_alert`__
	| `block_uploaded_alert`__
	| `alerts_dropped_alert`__
	| `socks5_alert`__
	| `file_prio_alert`__
	| `oversized_file_alert`__
	| `torrent_conflict_alert`__
	| `alert`__
	| `operation_name()`__
	| `alert_cast()`__
	| `operation_t`__
	| `int`__
	| `alert_category_t`__

	__ reference-Alerts.html#overview

	__ reference-Alerts.html#dht_routing_bucket
	__ reference-Alerts.html#torrent_alert
	__ reference-Alerts.html#peer_alert
	__ reference-Alerts.html#tracker_alert
	__ reference-Alerts.html#torrent_removed_alert
	__ reference-Alerts.html#read_piece_alert
	__ reference-Alerts.html#file_completed_alert
	__ reference-Alerts.html#file_renamed_alert
	__ reference-Alerts.html#file_rename_failed_alert
	__ reference-Alerts.html#performance_alert
	__ reference-Alerts.html#state_changed_alert
	__ reference-Alerts.html#tracker_error_alert
	__ reference-Alerts.html#tracker_warning_alert
	__ reference-Alerts.html#scrape_reply_alert
	__ reference-Alerts.html#scrape_failed_alert
	__ reference-Alerts.html#tracker_reply_alert
	__ reference-Alerts.html#dht_reply_alert
	__ reference-Alerts.html#tracker_announce_alert
	__ reference-Alerts.html#hash_failed_alert
	__ reference-Alerts.html#peer_ban_alert
	__ reference-Alerts.html#peer_unsnubbed_alert
	__ reference-Alerts.html#peer_snubbed_alert
	__ reference-Alerts.html#peer_error_alert
	__ reference-Alerts.html#peer_connect_alert
	__ reference-Alerts.html#peer_disconnected_alert
	__ reference-Alerts.html#invalid_request_alert
	__ reference-Alerts.html#torrent_finished_alert
	__ reference-Alerts.html#piece_finished_alert
	__ reference-Alerts.html#request_dropped_alert
	__ reference-Alerts.html#block_timeout_alert
	__ reference-Alerts.html#block_finished_alert
	__ reference-Alerts.html#block_downloading_alert
	__ reference-Alerts.html#unwanted_block_alert
	__ reference-Alerts.html#storage_moved_alert
	__ reference-Alerts.html#storage_moved_failed_alert
	__ reference-Alerts.html#torrent_deleted_alert
	__ reference-Alerts.html#torrent_delete_failed_alert
	__ reference-Alerts.html#save_resume_data_alert
	__ reference-Alerts.html#save_resume_data_failed_alert
	__ reference-Alerts.html#torrent_paused_alert
	__ reference-Alerts.html#torrent_resumed_alert
	__ reference-Alerts.html#torrent_checked_alert
	__ reference-Alerts.html#url_seed_alert
	__ reference-Alerts.html#file_error_alert
	__ reference-Alerts.html#metadata_failed_alert
	__ reference-Alerts.html#metadata_received_alert
	__ reference-Alerts.html#udp_error_alert
	__ reference-Alerts.html#external_ip_alert
	__ reference-Alerts.html#listen_failed_alert
	__ reference-Alerts.html#listen_succeeded_alert
	__ reference-Alerts.html#portmap_error_alert
	__ reference-Alerts.html#portmap_alert
	__ reference-Alerts.html#portmap_log_alert
	__ reference-Alerts.html#fastresume_rejected_alert
	__ reference-Alerts.html#peer_blocked_alert
	__ reference-Alerts.html#dht_announce_alert
	__ reference-Alerts.html#dht_get_peers_alert
	__ reference-Alerts.html#cache_flushed_alert
	__ reference-Alerts.html#lsd_peer_alert
	__ reference-Alerts.html#trackerid_alert
	__ reference-Alerts.html#dht_bootstrap_alert
	__ reference-Alerts.html#torrent_error_alert
	__ reference-Alerts.html#torrent_need_cert_alert
	__ reference-Alerts.html#incoming_connection_alert
	__ reference-Alerts.html#add_torrent_alert
	__ reference-Alerts.html#state_update_alert
	__ reference-Alerts.html#session_stats_alert
	__ reference-Alerts.html#dht_error_alert
	__ reference-Alerts.html#dht_immutable_item_alert
	__ reference-Alerts.html#dht_mutable_item_alert
	__ reference-Alerts.html#dht_put_alert
	__ reference-Alerts.html#i2p_alert
	__ reference-Alerts.html#dht_outgoing_get_peers_alert
	__ reference-Alerts.html#log_alert
	__ reference-Alerts.html#torrent_log_alert
	__ reference-Alerts.html#peer_log_alert
	__ reference-Alerts.html#lsd_error_alert
	__ reference-Alerts.html#dht_lookup
	__ reference-Alerts.html#dht_stats_alert
	__ reference-Alerts.html#incoming_request_alert
	__ reference-Alerts.html#dht_log_alert
	__ reference-Alerts.html#dht_pkt_alert
	__ reference-Alerts.html#dht_get_peers_reply_alert
	__ reference-Alerts.html#dht_direct_response_alert
	__ reference-Alerts.html#picker_log_alert
	__ reference-Alerts.html#session_error_alert
	__ reference-Alerts.html#dht_live_nodes_alert
	__ reference-Alerts.html#session_stats_header_alert
	__ reference-Alerts.html#dht_sample_infohashes_alert
	__ reference-Alerts.html#block_uploaded_alert
	__ reference-Alerts.html#alerts_dropped_alert
	__ reference-Alerts.html#socks5_alert
	__ reference-Alerts.html#file_prio_alert
	__ reference-Alerts.html#oversized_file_alert
	__ reference-Alerts.html#torrent_conflict_alert
	__ reference-Alerts.html#alert
	__ reference-Alerts.html#operation_name()
	__ reference-Alerts.html#alert_cast()
	__ reference-Alerts.html#operation_t
	__ reference-Alerts.html#int
	__ reference-Alerts.html#alert_category_t

