commit
fdd9bace61
@ -0,0 +1 @@
|
|||||||
|
/target
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,28 @@
|
|||||||
|
[package]
|
||||||
|
name = "datse"
|
||||||
|
description = "DATa SErver"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Avril <flanchan@cumallover.me>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["server", "client",
|
||||||
|
"server-http",
|
||||||
|
]
|
||||||
|
|
||||||
|
server-http = ["server"]
|
||||||
|
server-tcp = ["server"]
|
||||||
|
|
||||||
|
# At least one must be present.
|
||||||
|
server = []
|
||||||
|
client = []
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
color-eyre = {version = "0.5", default-features=false}
|
||||||
|
futures = "0.3.8"
|
||||||
|
log = "0.4.11"
|
||||||
|
pretty_env_logger = "0.4.0"
|
||||||
|
tokio = {version = "0.2", features = ["full"]}
|
||||||
|
warp = "0.2.5"
|
@ -0,0 +1,26 @@
|
|||||||
|
//! Parse args
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Eq, Clone)]
|
||||||
|
pub enum Operation
|
||||||
|
{
|
||||||
|
#[cfg(feature="server")] Server(server::Config),
|
||||||
|
#[cfg(feature="client")] Client(client::Config),
|
||||||
|
Help,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct Error;
|
||||||
|
|
||||||
|
pub fn parse_args() -> impl Future<Output = Result<Operation, Error>>
|
||||||
|
{
|
||||||
|
parse(std::env::args().skip(1))
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn parse<T, I>(args: I) -> Result<Operation, Error>
|
||||||
|
where I: IntoIterator<Item = T>,
|
||||||
|
T: Into<String>
|
||||||
|
{
|
||||||
|
let mut args = args.into_iter().map(Into::into);
|
||||||
|
todo!()
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
//! datse client
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Eq, Clone)]
|
||||||
|
pub struct Config
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO
|
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
#[macro_use] extern crate log;
|
||||||
|
|
||||||
|
use color_eyre::{
|
||||||
|
eyre::{
|
||||||
|
self, eyre,
|
||||||
|
WrapErr as _,
|
||||||
|
},
|
||||||
|
SectionExt as _,
|
||||||
|
};
|
||||||
|
|
||||||
|
use futures::{
|
||||||
|
prelude::*,
|
||||||
|
};
|
||||||
|
|
||||||
|
fn install() -> eyre::Result<()>
|
||||||
|
{
|
||||||
|
color_eyre::install()?;
|
||||||
|
pretty_env_logger::init();
|
||||||
|
|
||||||
|
trace!("init oke");
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
mod args;
|
||||||
|
|
||||||
|
#[cfg(feature="server")] mod server;
|
||||||
|
#[cfg(feature="client")] mod client;
|
||||||
|
|
||||||
|
#[tokio::main]
|
||||||
|
async fn main() -> eyre::Result<()> {
|
||||||
|
install()
|
||||||
|
.wrap_err(eyre!("Failed to install handlers"))?;
|
||||||
|
|
||||||
|
//TODO: Parse args and delegate to client or server
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Eq, Clone)]
|
||||||
|
pub struct Config
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(feature="server-http")] pub mod web;
|
||||||
|
#[cfg(feature="server-tcp")] pub mod tcp;
|
||||||
|
|
@ -0,0 +1,4 @@
|
|||||||
|
//! datse server over TCP
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
//TODO: Depends on yet-to-be-written rust TCP encnet RSA-AES encryption wrapper
|
@ -0,0 +1,2 @@
|
|||||||
|
//! datse server over HTTP
|
||||||
|
use super::*;
|
Loading…
Reference in new issue