blob: 4641f7ca21713d5164fe7b645e9f5aeb44f9a00f [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),
}