1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
use std::io;
use thiserror::Error;
pub type RQResult<T> = Result<T, RQError>;
#[derive(Error, Debug)]
pub enum RQError {
#[error("other error {0}")]
Other(String),
#[error("failed to decode, {0}")]
Decode(String),
#[error("failed to decode_prost, {0}")]
PbDecode(#[from] prost::DecodeError),
#[error("empty field, {0}")]
EmptyField(&'static str),
#[error("From utf-8 error {0}")]
Utf8(#[from] std::string::FromUtf8Error),
#[error("command_name mismatch, expected {0} get {1}")]
CommandNameMismatch(String, String),
#[error("timeout error")]
Timeout,
#[error("network error")]
Network,
#[error("jce error, {0}")]
Jce(#[from] jcers::JceError),
#[error("io error, {0}")]
IO(#[from] io::Error),
#[error("unknown flag {0}")]
UnknownFlag(u8),
#[error("unknown encrypt type")]
UnknownEncryptType,
#[error("invalid packet type")]
InvalidPacketType,
#[error("invalid encrypt type")]
InvalidEncryptType,
#[error("packet dropped")]
PacketDropped,
#[error("session expired")]
SessionExpired,
#[error("unsuccessful ret code: {0}")]
UnsuccessfulRetCode(i32),
#[error("Token login failed")]
TokenLoginFailed,
#[error("failed to get file count")]
GetFileCountFailed,
#[error("failed to get file list: {0}")]
GetFileListFailed(String),
}