use qubit_codec::TranscodeFailure;
#[derive(Debug)]
pub(crate) enum Base64StreamPhase {
Uninitialized,
Active,
Finished,
Poisoned,
}
impl Base64StreamPhase {
pub(crate) fn ensure_transcode(&self) -> Result<(), TranscodeFailure> {
match self {
Self::Uninitialized => Err(TranscodeFailure::TranscodeBeforeReset),
Self::Active => Ok(()),
Self::Finished => Err(TranscodeFailure::TranscodeAfterFinish),
Self::Poisoned => Err(TranscodeFailure::LifecyclePoisoned),
}
}
pub(crate) fn ensure_finish(&self) -> Result<(), TranscodeFailure> {
match self {
Self::Uninitialized => Err(TranscodeFailure::FinishBeforeReset),
Self::Active => Ok(()),
Self::Finished => Err(TranscodeFailure::FinishAfterFinish),
Self::Poisoned => Err(TranscodeFailure::LifecyclePoisoned),
}
}
}