
use super::{MailboxStatistics, MailboxStatus};

pub trait MailboxProtocol {

    fn protocol_type(&self) -> u8;

    fn protocol_name(&self) -> &'static str;

    fn is_supported(&self) -> bool;

    fn last_status(&self) -> MailboxStatus { MailboxStatus::Pending }

    fn last_error_code(&self) -> u32 { 0 }

    fn statistics(&self) -> MailboxStatistics;

    fn reset_statistics(&self);
}
