digitalis-core 0.1.0

Core module for Digitalis
Documentation
use std::{borrow::Cow, io};

use thiserror::Error;

#[derive(Error, Debug)]
pub enum DigitalisError {
    #[error("IO error: {0}")]
    IOError(#[from] io::Error),
    #[error("JSON error")]
    JsonError(#[from] serde_json::Error),
    #[error("Binary deserialize error: {0}")]
    BinaryDeserializeError(Cow<'static, str>),
    #[error("Channel send error")]
    ChannelSendError,
    #[error("Protobuf error {0}")]
    ProtobufError(#[from] protobuf::Error),
    #[error("Unexpected websocket message: {0}")]
    UnexpectedWebsocketMessage(Cow<'static, str>),
}

pub type DigitalisResult<T> = Result<T, DigitalisError>;