xref: /xiu/protocol/rtmp/src/cache/errors.rs (revision f8169385)
1e2687b83SHarlanC use {crate::chunk::errors::PackError, failure::Fail, flv::errors::TagParseError};
201b8b8feSHarlanC 
301b8b8feSHarlanC #[derive(Debug, Fail)]
401b8b8feSHarlanC pub enum CacheErrorValue {
5*f8169385SHarlanC     #[fail(display = "tag parse error\n")]
601b8b8feSHarlanC     TagParseError(TagParseError),
7*f8169385SHarlanC     #[fail(display = "pack error\n")]
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 {
33*f8169385SHarlanC     #[fail(display = "tag parse error\n")]
3461bf3e1bSHarlanC     TagParseError(TagParseError),
35*f8169385SHarlanC     #[fail(display = "pack error\n")]
3661bf3e1bSHarlanC     PackError(PackError),
3761bf3e1bSHarlanC }
3861bf3e1bSHarlanC 
3961bf3e1bSHarlanC pub struct MetadataError {
4061bf3e1bSHarlanC     pub value: CacheErrorValue,
4161bf3e1bSHarlanC }
42