gistit-daemon 0.2.1

Gistit daemon used for p2p file sharing
#[derive(thiserror::Error, Debug)]
pub enum Error {
    #[error("i/o error, {0}")]
    IO(#[from] std::io::Error),

    #[error("socket error, {0}")]
    Ipc(#[from] gistit_ipc::Error),

    #[error("serialize error, {0}")]
    Json(#[from] serde_json::Error),

    #[error("decode error, {0}")]
    Identity(#[from] libp2p::identity::error::DecodingError),
    #[error("decode error, {0}")]
    Base64(#[from] base64::DecodeError),
    #[error("decode error, {0}")]
    Proto(#[from] gistit_proto::Error),

    #[error("fail to parse multiaddr: {0}")]
    Multiaddr(#[from] libp2p::multiaddr::Error),

    #[error("project path error, {0}")]
    Project(#[from] gistit_project::Error),

    #[error("p2p transport error, {0}")]
    Transport(#[from] libp2p::TransportError<std::io::Error>),

    #[error("dial error, {0}")]
    Dial(#[from] libp2p::swarm::DialError),

    #[error("request response codec error, {0}")]
    Codec(#[from] crate::behaviour::Response),

    #[error("parse error, {0}")]
    Parse(&'static str),
}