pub enum Error {
Show 42 variants
MsgToLarge,
UnknownId(u8),
Incomplete(&'static str),
InvalidProtocolId,
InvalidInfoHash,
InvalidPeerId,
InvalidLength(&'static str),
InvalidPieceIndex(&'static str),
FileNotFound,
FileCannotWrite,
PeerNotFound,
PieceNotRequested,
PieceNotLoaded,
PieceBuffMissing,
PieceHashMismatch,
KeepAliveTimeout,
InfoMissing,
SocketNotAvailable,
CantReadFromSocket,
ConnectionReset,
ConnectionClosed,
DecodeUnexpectedChar(&'static str, usize),
DecodeIncorrectChar(&'static str, usize),
DecodeUnableConvert(&'static str, &'static str, usize),
DecodeNotEnoughChars(&'static str, usize),
DecodeMissingTerminalChars(&'static str, usize),
DecodeLeadingZero(&'static str, usize),
DecodeOddNumOfElements(&'static str, usize),
DecodeKeyNotString(&'static str, usize),
TrackerBEncodeMissing,
TrackerDataMissing,
TrackerIncorrectOrMissing(&'static str),
TrackerRespFail(String),
MetaFileNotFound,
MetaBEncodeMissing,
MetaDataMissing,
MetaLenAndFilesConflict,
MetaLenOrFilesMissing,
MetaInvalidUtf8(&'static str),
MetaIncorrectOrMissing(&'static str),
MetaInvalidU64(&'static str),
MetaNotDivisible(&'static str),
}
Expand description
rdest lib errors
Variants§
MsgToLarge
To avoid DDoS and exhaustion of RAM by peer, maximal size of message is limited to MAX_FRAME_SIZE bytes.
UnknownId(u8)
Not supported ID message (probably from not supported standard extension).
Incomplete(&'static str)
Incomplete message (details as argument e.g: message name).
InvalidProtocolId
Invalid protocol ID in Handshake message. Check BEP3.
InvalidInfoHash
Peer return invalid info hash in Handshake message.
InvalidPeerId
Peer introduced himself with unexpected ID
InvalidLength(&'static str)
Invalid length of Piece or Request message (different than requested peer).
InvalidPieceIndex(&'static str)
Invalid piece index (different than requested by peer).
FileNotFound
Can’t load piece file.
FileCannotWrite
Can’t write to file.
PeerNotFound
Peer not found in manager.
PieceNotRequested
Piece not requested by client.
PieceNotLoaded
Piece not loaded by handler.
PieceBuffMissing
Missing piece buffer on requested message.
PieceHashMismatch
Piece hash mismatch.
KeepAliveTimeout
Peer doesn’t send any message, keep-alive trigger.
InfoMissing
Missing info field to calculate hash.
SocketNotAvailable
Socket not available.
CantReadFromSocket
Can’t read from socket.
ConnectionReset
Connection reset.
ConnectionClosed
Connection closed.
DecodeUnexpectedChar(&'static str, usize)
Decoder encountered unexpected char.
DecodeIncorrectChar(&'static str, usize)
Decoder encountered incorrect char.
DecodeUnableConvert(&'static str, &'static str, usize)
Decoder was unable to convert to BValue
.
DecodeNotEnoughChars(&'static str, usize)
Not enough chars to decode.
DecodeMissingTerminalChars(&'static str, usize)
Decoder encountered missing terminal character “e”.
DecodeLeadingZero(&'static str, usize)
Incorrect integer with leading zero.
DecodeOddNumOfElements(&'static str, usize)
Odd number of elements in dictionary.
DecodeKeyNotString(&'static str, usize)
Key not string in dictionary
TrackerBEncodeMissing
Missing bencoded data to decode tracker response.
TrackerDataMissing
Not enough data in tracker response.
TrackerIncorrectOrMissing(&'static str)
Incorrect or missing fields in tracker response.
TrackerRespFail(String)
Tracker replay with error.
MetaFileNotFound
Missing metainfo file.
MetaBEncodeMissing
Missing bencoded data in metainfo.
MetaDataMissing
Missing data in metainfo.
MetaLenAndFilesConflict
Mutually exclusive length and files in metafile.
MetaLenOrFilesMissing
Missing length or files in metafile.
MetaInvalidUtf8(&'static str)
Can’t convert metainfo fields to UTF-8.
MetaIncorrectOrMissing(&'static str)
Missing field in metainfo.
MetaInvalidU64(&'static str)
Can’t convert metainfo field to u64
MetaNotDivisible(&'static str)
Not enough data to extract SHA-1 hashes.