Split code for modular compilation

This commit is contained in:
Alex Auvolat
2020-04-24 10:10:01 +00:00
parent 51fb3799a1
commit d8f5e643bc
39 changed files with 569 additions and 281 deletions
+28
View File
@@ -0,0 +1,28 @@
[package]
name = "garage_api"
version = "0.1.0"
authors = ["Alex Auvolat <alex@adnab.me>"]
edition = "2018"
[lib]
path = "lib.rs"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
garage_util = { path = "../util" }
garage_table = { path = "../table" }
garage_core = { path = "../core" }
bytes = "0.4"
hex = "0.3"
log = "0.4"
futures = "0.3"
futures-util = "0.3"
tokio = { version = "0.2", default-features = false, features = ["rt-core", "rt-threaded", "io-driver", "net", "tcp", "time", "macros", "sync", "signal", "fs"] }
http = "0.2"
hyper = "0.13"
+9 -9
View File
@@ -9,18 +9,18 @@ use hyper::server::conn::AddrStream;
use hyper::service::{make_service_fn, service_fn};
use hyper::{Body, Method, Request, Response, Server, StatusCode};
use crate::data::*;
use crate::error::Error;
use crate::server::Garage;
use garage_util::data::*;
use garage_util::error::Error;
use crate::table::EmptyKey;
use garage_table::EmptyKey;
use crate::store::block::INLINE_THRESHOLD;
use crate::store::block_ref_table::*;
use crate::store::object_table::*;
use crate::store::version_table::*;
use garage_core::block::INLINE_THRESHOLD;
use garage_core::block_ref_table::*;
use garage_core::garage::Garage;
use garage_core::object_table::*;
use garage_core::version_table::*;
use crate::api::http_util::*;
use crate::http_util::*;
type BodyType = Box<dyn HttpBody<Data = Bytes, Error = Error> + Send + Unpin>;
+1 -1
View File
@@ -5,7 +5,7 @@ use futures::ready;
use futures::stream::*;
use hyper::body::{Bytes, HttpBody};
use crate::error::Error;
use garage_util::error::Error;
type StreamType = Pin<Box<dyn Stream<Item = Result<Bytes, Error>> + Send>>;
+3
View File
@@ -1,2 +1,5 @@
#[macro_use]
extern crate log;
pub mod api_server;
pub mod http_util;