blob: 11b0045513de40c0942fe8cfb1b8603a1552aa9c [file] [log] [blame]
use quinn::{ConnectionError, ReadToEndError, WriteError};
use std::array::TryFromSliceError;
use thiserror::Error;
use tokio::io;
#[derive(Debug, Error)]
pub enum ServerError {
#[error("IO error")]
IoError(#[from] io::Error),
#[error("Connection error")]
ConnectionError(#[from] ConnectionError),
#[error("Invalid configuration provider: {0}")]
InvalidConfigurationProvider(String),
#[error("Cannot load configuration: {0}")]
CannotLoadConfiguration(String),
#[error("Invalid configuration")]
InvalidConfiguration,
#[error("SDK error")]
SdkError(#[from] iggy::error::IggyError),
#[error("Write error")]
WriteError(#[from] WriteError),
#[error("Read to end error")]
ReadToEndError(#[from] ReadToEndError),
#[error("Try from slice error")]
TryFromSliceError(#[from] TryFromSliceError),
#[error("Logging filter reload failure")]
FilterReloadFailure,
#[error("Logging stdout reload failure")]
StdoutReloadFailure,
#[error("Logging file reload failure")]
FileReloadFailure,
#[error("Cache config validation failure: {0}")]
CacheConfigValidationFailure(String),
#[error("Command length error: {0}")]
CommandLengthError(String),
}