resonator 0.3.2

This crate allows 2 devices to send live PCM audio data to each other through a server
Documentation
use serde::{Deserialize, Serialize};
use crate::common::parsable::Parsable;

#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)]
pub struct Metadata {
    pub sample_rate: i32,
    pub buffer_size: i32,
}

impl Default for Metadata {
    fn default() -> Self {
        Metadata {
            sample_rate: 0,
            buffer_size: 0,
        }
    }
}

impl Parsable<Metadata> for Metadata {
    /**

     * Parses a new Metadata using the provided byte data
     * Will ignore any bytes after the ones needed (8)
     */
    fn from_bytes(bytes: &[u8]) -> Metadata {
        let sample_rate = i32::from_le_bytes(bytes[0..4].try_into().unwrap());
        let buffer_size = i32::from_le_bytes(bytes[4..8].try_into().unwrap());

        Metadata {
            sample_rate,
            buffer_size,
        }
    }
}