tocket 0.2.1

A implemetation of 'Token Bucket' algorithm
Documentation
use crate::distributed::message::ContentKind;
use crate::RateLimitExceededError;
use std::net::SocketAddr;

#[derive(Debug, thiserror::Error)]
pub enum DistributedStorageError {
    #[error(transparent)]
    RateLimitExceededError(#[from] RateLimitExceededError),
    #[error(transparent)]
    IoError(#[from] std::io::Error),

    #[error("checksum does not match: actual = {act:#x} expected = {exp:#x}")]
    ChecksumMismatch { act: u32, exp: u32 },
    #[error("peer {peer} not whitelisted")]
    PeerNotWhitelisted { peer: SocketAddr },
    #[error("message content mismatch: expected '{exp:?}', but actual is '{act:?}'")]
    MessageContentMismatch { exp: ContentKind, act: ContentKind },
    #[error("peer address not resolved")]
    PeerAddrNotResolved,
}