Version:2.0.11

home

[report issue]

storage_error

Declared in "libtorrent/error_code.hpp"

used by storage to return errors also includes which underlying file the error happened on

 struct storage_error { explicit operator bool () const; file_index_t file () const; void file (file_index_t f); error_code ec; operation_t operation; }; 
[report issue]

bool()

 explicit operator bool () const; 

explicitly converts to true if this object represents an error, and false if it does not.

[report issue]

file()

 file_index_t file () const; void file (file_index_t f); 

set and query the index (in the torrent) of the file this error occurred on. This may also have special values defined in torrent_status.

[report issue]
ec
the error that occurred
[report issue]
operation
A code from operation_t enum, indicating what kind of operation failed.
[report issue]

gzip_category()

Declared in "libtorrent/gzip.hpp"

 boost::system::error_category& gzip_category (); 

get the error_category for zip errors

[report issue]

pcp_category()

Declared in "libtorrent/natpmp.hpp"

 boost::system::error_category& pcp_category (); 
[report issue]

bdecode_category()

Declared in "libtorrent/bdecode.hpp"

 boost::system::error_category& bdecode_category (); 
[report issue]

libtorrent_category()

Declared in "libtorrent/error_code.hpp"

 boost::system::error_category& libtorrent_category (); 

return the instance of the libtorrent_error_category which maps libtorrent error codes to human readable error messages.

[report issue]

http_category()

Declared in "libtorrent/error_code.hpp"

 boost::system::error_category& http_category (); 

returns the error_category for HTTP errors

[report issue]

i2p_category()

Declared in "libtorrent/i2p_stream.hpp"

 boost::system::error_category& i2p_category (); 

returns the error category for I2P errors

[report issue]

socks_category()

Declared in "libtorrent/socks5_stream.hpp"

 boost::system::error_category& socks_category (); 

returns the error_category for SOCKS5 errors

[report issue]

upnp_category()

Declared in "libtorrent/upnp.hpp"

 boost::system::error_category& upnp_category (); 

the boost.system error category for UPnP errors

[report issue]

enum error_code_enum

Declared in "libtorrent/gzip.hpp"

namevaluedescription
no_error0Not an error
invalid_gzip_header1the supplied gzip buffer has invalid header
inflated_data_too_large2the gzip buffer would inflate to more bytes than the specified maximum size, and was rejected.
data_did_not_terminate3available inflate data did not terminate
space_exhausted4output space exhausted before completing inflate
invalid_block_type5invalid block type (type == 3)
invalid_stored_block_length6stored block length did not match one's complement
too_many_length_or_distance_codes7dynamic block code description: too many length or distance codes
code_lengths_codes_incomplete8dynamic block code description: code lengths codes incomplete
repeat_lengths_with_no_first_length9dynamic block code description: repeat lengths with no first length
repeat_more_than_specified_lengths10dynamic block code description: repeat more than specified lengths
invalid_literal_length_code_lengths11dynamic block code description: invalid literal/length code lengths
invalid_distance_code_lengths12dynamic block code description: invalid distance code lengths
invalid_literal_code_in_block13invalid literal/length or distance code in fixed or dynamic block
distance_too_far_back_in_block14distance is too far back in fixed or dynamic block
unknown_gzip_error15an unknown error occurred during gzip inflation
error_code_max16the number of error codes
[report issue]

enum pcp_errors

Declared in "libtorrent/natpmp.hpp"

namevaluedescription
pcp_success0 
pcp_unsupp_version1 
pcp_not_authorized2 
pcp_malformed_request3 
pcp_unsupp_opcode4 
pcp_unsupp_option5 
pcp_malformed_option6 
pcp_network_failure7 
pcp_no_resources8 
pcp_unsupp_protocol9 
pcp_user_ex_quota10 
pcp_cannot_provide_external11 
pcp_address_mismatch12 
pcp_excessive_remote_peers13 
[report issue]

enum error_code_enum

Declared in "libtorrent/bdecode.hpp"

namevaluedescription
no_error0Not an error
expected_digit1expected digit in bencoded string
expected_colon2expected colon in bencoded string
unexpected_eof3unexpected end of file in bencoded string
expected_value4expected value (list, dict, int or string) in bencoded string
depth_exceeded5bencoded recursion depth limit exceeded
limit_exceeded6bencoded item count limit exceeded
overflow7integer overflow
error_code_max8the number of error codes
[report issue]

enum error_code_enum

Declared in "libtorrent/error_code.hpp"

namevaluedescription
no_error0Not an error
file_collision1Two torrents has files which end up overwriting each other
failed_hash_check2A piece did not match its piece hash
torrent_is_no_dict3The .torrent file does not contain a bencoded dictionary at its top level
torrent_missing_info4The .torrent file does not have an info dictionary
torrent_info_no_dict5The .torrent file's infoentry is not a dictionary
torrent_missing_piece_length6The .torrent file does not have a piece lengthentry
torrent_missing_name7The .torrent file does not have a nameentry
torrent_invalid_name8The .torrent file's name entry is invalid
torrent_invalid_length9The length of a file, or of the whole .torrent file is invalid. Either negative or not an integer
torrent_file_parse_failed10Failed to parse a file entry in the .torrent
torrent_missing_pieces11The pieces field is missing or invalid in the .torrent file
torrent_invalid_hashes12The pieces string has incorrect length
too_many_pieces_in_torrent13The .torrent file has more pieces than is supported by libtorrent
invalid_swarm_metadata14The metadata (.torrent file) that was received from the swarm matched the info-hash, but failed to be parsed
invalid_bencoding15The file or buffer is not correctly bencoded
no_files_in_torrent16The .torrent file does not contain any files
invalid_escaped_string17The string was not properly url-encoded as expected
session_is_closing18Operation is not permitted since the session is shutting down
duplicate_torrent19There's already a torrent with that info-hash added to the session
invalid_torrent_handle20The supplied torrent_handle is not referring to a valid torrent
invalid_entry_type21The type requested from the entry did not match its type
missing_info_hash_in_uri22The specified URI does not contain a valid info-hash
file_too_short23One of the files in the torrent was unexpectedly small. This might be caused by files being changed by an external process
unsupported_url_protocol24The URL used an unknown protocol. Currently http and https (if built with openssl support) are recognized. For trackers udp is recognized as well.
url_parse_error25The URL did not conform to URL syntax and failed to be parsed
peer_sent_empty_piece26The peer sent a piece message of length 0
parse_failed27A bencoded structure was corrupt and failed to be parsed
invalid_file_tag28The fast resume file was missing or had an invalid file version tag
missing_info_hash29The fast resume file was missing or had an invalid info-hash
mismatching_info_hash30The info-hash did not match the torrent
invalid_hostname31The URL contained an invalid hostname
invalid_port32The URL had an invalid port
port_blocked33The port is blocked by the port-filter, and prevented the connection
expected_close_bracket_in_address34The IPv6 address was expected to end with "]"
destructing_torrent35The torrent is being destructed, preventing the operation to succeed
timed_out36The connection timed out
upload_upload_connection37The peer is upload only, and we are upload only. There's no point in keeping the connection
uninteresting_upload_peer38The peer is upload only, and we're not interested in it. There's no point in keeping the connection
invalid_info_hash39The peer sent an unknown info-hash
torrent_paused40The torrent is paused, preventing the operation from succeeding
invalid_have41The peer sent an invalid have message, either wrong size or referring to a piece that doesn't exist in the torrent
invalid_bitfield_size42The bitfield message had the incorrect size
too_many_requests_when_choked43The peer kept requesting pieces after it was choked, possible abuse attempt.
invalid_piece44The peer sent a piece message that does not correspond to a piece request sent by the client
no_memory45memory allocation failed
torrent_aborted46The torrent is aborted, preventing the operation to succeed
self_connection47The peer is a connection to ourself, no point in keeping it
invalid_piece_size48The peer sent a piece message with invalid size, either negative or greater than one block
timed_out_no_interest49The peer has not been interesting or interested in us for too long, no point in keeping it around
timed_out_inactivity50The peer has not said anything in a long time, possibly dead
timed_out_no_handshake51The peer did not send a handshake within a reasonable amount of time, it might not be a bittorrent peer
timed_out_no_request52The peer has been unchoked for too long without requesting any data. It might be lying about its interest in us
invalid_choke53The peer sent an invalid choke message
invalid_unchoke54The peer send an invalid unchoke message
invalid_interested55The peer sent an invalid interested message
invalid_not_interested56The peer sent an invalid not-interested message
invalid_request57The peer sent an invalid piece request message
invalid_hash_list58The peer sent an invalid hash-list message (this is part of the merkle-torrent extension)
invalid_hash_piece59The peer sent an invalid hash-piece message (this is part of the merkle-torrent extension)
invalid_cancel60The peer sent an invalid cancel message
invalid_dht_port61The peer sent an invalid DHT port-message
invalid_suggest62The peer sent an invalid suggest piece-message
invalid_have_all63The peer sent an invalid have all-message
invalid_have_none64The peer sent an invalid have none-message
invalid_reject65The peer sent an invalid reject message
invalid_allow_fast66The peer sent an invalid allow fast-message
invalid_extended67The peer sent an invalid extension message ID
invalid_message68The peer sent an invalid message ID
sync_hash_not_found69The synchronization hash was not found in the encrypted handshake
invalid_encryption_constant70The encryption constant in the handshake is invalid
no_plaintext_mode71The peer does not support plain text, which is the selected mode
no_rc4_mode72The peer does not support RC4, which is the selected mode
unsupported_encryption_mode73The peer does not support any of the encryption modes that the client supports
unsupported_encryption_mode_selected74The peer selected an encryption mode that the client did not advertise and does not support
invalid_pad_size75The pad size used in the encryption handshake is of invalid size
invalid_encrypt_handshake76The encryption handshake is invalid
no_incoming_encrypted77The client is set to not support incoming encrypted connections and this is an encrypted connection
no_incoming_regular78The client is set to not support incoming regular bittorrent connections, and this is a regular connection
duplicate_peer_id79The client is already connected to this peer-ID
torrent_removed80Torrent was removed
packet_too_large81The packet size exceeded the upper sanity check-limit
reserved82 
http_error83The web server responded with an error
missing_location84The web server response is missing a location header
invalid_redirection85The web seed redirected to a path that no longer matches the .torrent directory structure
redirecting86The connection was closed because it redirected to a different URL
invalid_range87The HTTP range header is invalid
no_content_length88The HTTP response did not have a content length
banned_by_ip_filter89The IP is blocked by the IP filter
too_many_connections90At the connection limit
peer_banned91The peer is marked as banned
stopping_torrent92The torrent is stopping, causing the operation to fail
too_many_corrupt_pieces93The peer has sent too many corrupt pieces and is banned
torrent_not_ready94The torrent is not ready to receive peers
peer_not_constructed95The peer is not completely constructed yet
session_closing96The session is closing, causing the operation to fail
optimistic_disconnect97The peer was disconnected in order to leave room for a potentially better peer
torrent_finished98The torrent is finished
no_router99No UPnP router found
metadata_too_large100The metadata message says the metadata exceeds the limit
invalid_metadata_request101The peer sent an invalid metadata request message
invalid_metadata_size102The peer advertised an invalid metadata size
invalid_metadata_offset103The peer sent a message with an invalid metadata offset
invalid_metadata_message104The peer sent an invalid metadata message
pex_message_too_large105The peer sent a peer exchange message that was too large
invalid_pex_message106The peer sent an invalid peer exchange message
invalid_lt_tracker_message107The peer sent an invalid tracker exchange message
too_frequent_pex108The peer sent an pex messages too often. This is a possible attempt of and attack
no_metadata109The operation failed because it requires the torrent to have the metadata (.torrent file) and it doesn't have it yet. This happens for magnet links before they have downloaded the metadata, and also torrents added by URL.
invalid_dont_have110The peer sent an invalid dont_have message. The don't have message is an extension to allow peers to advertise that the no longer has a piece they previously had.
requires_ssl_connection111The peer tried to connect to an SSL torrent without connecting over SSL.
invalid_ssl_cert112The peer tried to connect to a torrent with a certificate for a different torrent.
not_an_ssl_torrent113the torrent is not an SSL torrent, and the operation requires an SSL torrent
banned_by_port_filter114peer was banned because its listen port is within a banned port range, as specified by the port_filter.
invalid_session_handle115The session_handle is not referring to a valid session_impl
invalid_listen_socket116the listen socket associated with this request was closed
invalid_hash_request117 
invalid_hashes118 
invalid_hash_reject119 
deprecated_120120 
deprecated_121121 
deprecated_122122 
deprecated_123123 
deprecated_124124 
missing_file_sizes130The resume data file is missing the file sizesentry
no_files_in_resume_data131The resume data file file sizesentry is empty
missing_pieces132The resume data file is missing the pieces and slotsentry
mismatching_number_of_files133The number of files in the resume data does not match the number of files in the torrent
mismatching_file_size134One of the files on disk has a different size than in the fast resume file
mismatching_file_timestamp135One of the files on disk has a different timestamp than in the fast resume file
not_a_dictionary136The resume data file is not a dictionary
invalid_blocks_per_piece137The blocks per pieceentry is invalid in the resume data file
missing_slots138The resume file is missing the slotsentry, which is required for torrents with compact allocation. DEPRECATED
too_many_slots139The resume file contains more slots than the torrent
invalid_slot_list140The slotentry is invalid in the resume data
invalid_piece_index141One index in the slot list is invalid
pieces_need_reorder142The pieces on disk needs to be re-ordered for the specified allocation mode. This happens if you specify sparse allocation and the files on disk are using compact storage. The pieces needs to be moved to their right position. DEPRECATED
resume_data_not_modified143this error is returned when asking to save resume data and specifying the flag to only save when there's anything new to save (torrent_handle::only_if_modified) and there wasn't anything changed.
invalid_save_path144the save_path in add_torrent_params is not valid
http_parse_error150The HTTP header was not correctly formatted
http_missing_location151The HTTP response was in the 300-399 range but lacked a location header
http_failed_decompress152The HTTP response was encoded with gzip or deflate but decompressing it failed
no_i2p_router160The URL specified an i2p address, but no i2p router is configured
no_i2p_endpoint161i2p acceptor is not available yet, can't announce without endpoint
scrape_not_available170The tracker URL doesn't support transforming it into a scrape URL. i.e. it doesn't contain "announce.
invalid_tracker_response171invalid tracker response
invalid_peer_dict172invalid peer dictionary entry. Not a dictionary
tracker_failure173tracker sent a failure message
invalid_files_entry174missing or invalid filesentry
invalid_hash_entry175missing or invalid hashentry
invalid_peers_entry176missing or invalid peers and peers6entry
invalid_tracker_response_length177UDP tracker response packet has invalid size
invalid_tracker_transaction_id178invalid transaction id in UDP tracker response
invalid_tracker_action179invalid action field in UDP tracker response
announce_skipped180skipped announce (because it's assumed to be unreachable over the given source network interface)
no_entropy200random number generation failed
ssrf_mitigation201blocked by SSRF mitigation
blocked_by_idna202blocked because IDNA host names are banned
torrent_unknown_version210the torrent file has an unknown meta version
torrent_missing_file_tree211the v2 torrent file has no file tree
torrent_missing_meta_version212the torrent contains v2 keys but does not specify meta version 2
torrent_inconsistent_files213the v1 and v2 file metadata does not match
torrent_missing_piece_layer214one or more files are missing piece layer hashes
torrent_invalid_piece_layer215a piece layer has the wrong size or failed hash check
torrent_missing_pieces_root216a v2 file entry has no root hash
torrent_inconsistent_hashes217the v1 and v2 hashes do not describe the same data
torrent_invalid_pad_file218a file in the v2 metadata has the pad attribute set
error_code_max219the number of error codes
[report issue]

enum http_errors

Declared in "libtorrent/error_code.hpp"

namevaluedescription
cont100 
ok200 
created201 
accepted202 
no_content204 
multiple_choices300 
moved_permanently301 
moved_temporarily302 
not_modified304 
bad_request400 
unauthorized401 
forbidden403 
not_found404 
internal_server_error500 
not_implemented501 
bad_gateway502 
service_unavailable503 
[report issue]

enum i2p_error_code

Declared in "libtorrent/i2p_stream.hpp"

namevaluedescription
no_error0 
parse_failed1 
cant_reach_peer2 
i2p_error3 
invalid_key4 
invalid_id5 
timeout6 
key_not_found7 
duplicated_id8 
num_errors9 
[report issue]

enum socks_error_code

Declared in "libtorrent/socks5_stream.hpp"

namevaluedescription
no_error0 
unsupported_version1 
unsupported_authentication_method2 
unsupported_authentication_version3 
authentication_error4 
username_required5 
general_failure6 
command_not_supported7 
no_identd8 
identd_error9 
num_errors10 
[report issue]

enum error_code_enum

Declared in "libtorrent/upnp.hpp"

namevaluedescription
no_error0No error
invalid_argument402One of the arguments in the request is invalid
action_failed501The request failed
value_not_in_array714The specified value does not exist in the array
source_ip_cannot_be_wildcarded715The source IP address cannot be wild-carded, but must be fully specified
external_port_cannot_be_wildcarded716The external port cannot be a wildcard, but must be specified
port_mapping_conflict718The port mapping entry specified conflicts with a mapping assigned previously to another client
internal_port_must_match_external724Internal and external port value must be the same
only_permanent_leases_supported725The NAT implementation only supports permanent lease times on port mappings
remote_host_must_be_wildcard726RemoteHost must be a wildcard and cannot be a specific IP address or DNS name
external_port_must_be_wildcard727ExternalPort must be a wildcard and cannot be a specific port
close