musdk 0.1.0

mu Protocol app development SDK
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum Error {
    #[error("Unexpected message kind, first message must be an ExecuteFunction request")]
    UnexpectedFirstMessageKind,

    #[error("Unknown incoming message code {0}")]
    UnknownIncomingMessageCode(u16),

    #[error("Failed to deserialize incoming message: {0}")]
    CannotDeserializeIncomingMessage(std::io::Error),

    #[error("Failed to serialize outgoing message: {0}")]
    CannotSerializeOutgoingMessage(std::io::Error),

    #[error("Unknown function {0}")]
    UnknownFunction(String),

    #[error("Database error: {0}")]
    DatabaseError(String),

    #[error("Storage error: {0}")]
    StorageError(String),

    #[error("Unexpected message kind, was expecting {0}")]
    UnexpectedMessageKind(&'static str),
}

pub type Result<T> = std::result::Result<T, Error>;