1*e2687b83SHarlanC use {crate::chunk::errors::PackError, failure::Fail, flv::errors::TagParseError}; 201b8b8feSHarlanC 301b8b8feSHarlanC #[derive(Debug, Fail)] 401b8b8feSHarlanC pub enum CacheErrorValue { 501b8b8feSHarlanC #[fail(display = "tag parse error")] 601b8b8feSHarlanC TagParseError(TagParseError), 701b8b8feSHarlanC #[fail(display = "pack error")] 801b8b8feSHarlanC PackError(PackError), 901b8b8feSHarlanC } 1001b8b8feSHarlanC 1101b8b8feSHarlanC pub struct CacheError { 1201b8b8feSHarlanC pub value: CacheErrorValue, 1301b8b8feSHarlanC } 1401b8b8feSHarlanC 1501b8b8feSHarlanC impl From<TagParseError> for CacheError { 1601b8b8feSHarlanC fn from(error: TagParseError) -> Self { 1701b8b8feSHarlanC CacheError { 1801b8b8feSHarlanC value: CacheErrorValue::TagParseError(error), 1901b8b8feSHarlanC } 2001b8b8feSHarlanC } 2101b8b8feSHarlanC } 2201b8b8feSHarlanC 2301b8b8feSHarlanC impl From<PackError> for CacheError { 2401b8b8feSHarlanC fn from(error: PackError) -> Self { 2501b8b8feSHarlanC CacheError { 2601b8b8feSHarlanC value: CacheErrorValue::PackError(error), 2701b8b8feSHarlanC } 2801b8b8feSHarlanC } 2901b8b8feSHarlanC } 3061bf3e1bSHarlanC 3161bf3e1bSHarlanC #[derive(Debug, Fail)] 3261bf3e1bSHarlanC pub enum MetadataErrorValue { 3361bf3e1bSHarlanC #[fail(display = "tag parse error")] 3461bf3e1bSHarlanC TagParseError(TagParseError), 3561bf3e1bSHarlanC #[fail(display = "pack error")] 3661bf3e1bSHarlanC PackError(PackError), 3761bf3e1bSHarlanC } 3861bf3e1bSHarlanC 3961bf3e1bSHarlanC pub struct MetadataError { 4061bf3e1bSHarlanC pub value: CacheErrorValue, 4161bf3e1bSHarlanC } 42