rd-std 0.1.0

std for rabbit-digger
Documentation
use rd_interface::{
    registry::{NetFactory, ServerFactory},
    util::get_one_net,
    Net, Registry, Result,
};
use serde_derive::Deserialize;

mod server;

#[derive(Debug, Deserialize)]
pub struct ServerConfig {
    bind: String,
}

impl ServerFactory for server::Http {
    const NAME: &'static str = "http";
    type Config = ServerConfig;

    fn new(listen_net: Net, net: Net, Self::Config { bind }: Self::Config) -> Result<Self> {
        Ok(server::Http::new(listen_net, net, bind))
    }
}

pub fn init(registry: &mut Registry) -> Result<()> {
    registry.add_server::<server::Http>();
    Ok(())
}