veloren_client/
error.rs

1use authc::AuthClientError;
2use common_net::msg::server::BanInfo;
3pub use network::{InitProtocolError, NetworkConnectError, NetworkError};
4use network::{ParticipantError, StreamError};
5use rustls::Error as RustlsError;
6use specs::error::Error as SpecsError;
7
8#[derive(Debug)]
9pub enum Error {
10    Kicked(String),
11    NetworkErr(NetworkError),
12    ParticipantErr(ParticipantError),
13    StreamErr(StreamError),
14    ServerTimeout,
15    ServerShutdown,
16    TooManyPlayers,
17    NotOnWhitelist,
18    AuthErr(String),
19    AuthClientError(AuthClientError),
20    AuthServerUrlInvalid(String),
21    AuthServerNotTrusted,
22    HostnameLookupFailed(std::io::Error),
23    Banned(BanInfo),
24    /// Persisted character data is invalid or missing
25    InvalidCharacter,
26    //TODO: InvalidAlias,
27    Other(String),
28    SpecsErr(SpecsError),
29    RustlsErr(RustlsError),
30}
31
32impl From<SpecsError> for Error {
33    fn from(err: SpecsError) -> Self { Self::SpecsErr(err) }
34}
35
36impl From<RustlsError> for Error {
37    fn from(err: RustlsError) -> Self { Self::RustlsErr(err) }
38}
39
40impl From<NetworkError> for Error {
41    fn from(err: NetworkError) -> Self { Self::NetworkErr(err) }
42}
43
44impl From<ParticipantError> for Error {
45    fn from(err: ParticipantError) -> Self { Self::ParticipantErr(err) }
46}
47
48impl From<StreamError> for Error {
49    fn from(err: StreamError) -> Self { Self::StreamErr(err) }
50}
51
52impl From<AuthClientError> for Error {
53    fn from(err: AuthClientError) -> Self { Self::AuthClientError(err) }
54}