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 InvalidCharacter,
26 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}