wire-framed 0.4.2

A library for encoding and decoding structures into a binary data format.
Documentation
# wire-framed


wire-framed is a library for encoding and decoding frames using a custom binary protocol.
It prioritizes ease-of-use.

It reolves around two traits [`FromFrame`] and [`IntoFrame`]. These traits can be manually implemented relatively easily using 
the utilities provided in the [`utils`] module or automatically using the [`Encoding`] and [`Decoding`] macros.

[`FromFrame`]: trait.FromFrame.html
[`IntoFrame`]: trait.IntoFrame.html
[`utils`]: utils/index.html
[`Encoding`]: macro.Encoding.html
[`Decoding`]: macro.Decoding.html

# Usage

```
use wire_framed::prelude::*;

#[derive(Debug, Encoding, Decoding, PartialEq, Eq)]

pub struct Foo {
    pub id: u32,
    pub name: String,
    pub description: String,
    pub created_at: u64,
}

fn send() -> Result<(), std::io::Error> {
    let foo = Foo {
        id: 1,
        name: "John".to_string(),
        description: "John is a legend".to_string(),
        created_at: 1234567890,
    };

    let frame = foo.into_frame();
    send_to_socket(frame)
}

fn recv() -> Result<(), std::io::Error> {
    let bytes = recv_from_socket();
    let foo = Foo::from_frame(bytes)?;

    // process foo
}
```