veloren_client/
error.rs

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