#[cfg(feature = "workload-batch-gen")]
use crate::error::{InternalError, InvalidStateError};
#[cfg(feature = "workload-runner")]
#[derive(Debug, PartialEq, Eq)]
pub enum WorkloadRunnerError {
SubmitError(String),
TooManyRequests,
WorkloadAddError(String),
WorkloadRemoveError(String),
BatchStatusError(String),
}
#[cfg(feature = "workload-runner")]
impl std::error::Error for WorkloadRunnerError {}
#[cfg(feature = "workload-runner")]
impl std::fmt::Display for WorkloadRunnerError {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match *self {
WorkloadRunnerError::SubmitError(ref err) => {
write!(f, "Unable to submit batch: {}", err)
}
WorkloadRunnerError::TooManyRequests => {
write!(f, "Unable to submit batch because of TooManyRequests")
}
WorkloadRunnerError::WorkloadAddError(ref err) => {
write!(f, "Unable to add workload: {}", err)
}
WorkloadRunnerError::WorkloadRemoveError(ref err) => {
write!(f, "Unable to remove workload: {}", err)
}
WorkloadRunnerError::BatchStatusError(ref err) => {
write!(f, "Error occurred while retrieving batch status: {}", err)
}
}
}
}
#[cfg(feature = "workload-batch-gen")]
#[derive(Debug)]
pub enum BatchingError {
InternalError(InternalError),
InvalidStateError(InvalidStateError),
}
#[cfg(feature = "workload-batch-gen")]
impl std::fmt::Display for BatchingError {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
BatchingError::InternalError(err) => f.write_str(&err.to_string()),
BatchingError::InvalidStateError(err) => f.write_str(&err.to_string()),
}
}
}
#[cfg(feature = "workload-batch-gen")]
impl std::error::Error for BatchingError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match self {
BatchingError::InternalError(ref err) => Some(err),
BatchingError::InvalidStateError(ref err) => Some(err),
}
}
}