From 90c7de62717de362c6d9a093dab6fb13877bd8de Mon Sep 17 00:00:00 2001 From: Giacomo Pasini Date: Wed, 23 Nov 2022 14:43:22 +0100 Subject: [PATCH] Split services into different crates (#13) --- Cargo.toml | 4 ++- nomos-services/log/Cargo.toml | 16 ++++++++++++ .../{src/log/mod.rs => log/src/lib.rs} | 0 nomos-services/{ => network}/Cargo.toml | 12 +++------ .../network => network/src}/backends/mod.rs | 2 ++ .../network => network/src}/backends/waku.rs | 0 .../network/mod.rs => network/src/lib.rs} | 0 nomos-services/src/lib.rs | 3 --- nomos-services/storage/Cargo.toml | 25 +++++++++++++++++++ .../storage => storage/src}/backends/mock.rs | 0 .../storage => storage/src}/backends/mod.rs | 0 .../storage => storage/src}/backends/sled.rs | 0 .../storage/mod.rs => storage/src/lib.rs} | 2 +- 13 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 nomos-services/log/Cargo.toml rename nomos-services/{src/log/mod.rs => log/src/lib.rs} (100%) rename nomos-services/{ => network}/Cargo.toml (70%) rename nomos-services/{src/network => network/src}/backends/mod.rs (92%) rename nomos-services/{src/network => network/src}/backends/waku.rs (100%) rename nomos-services/{src/network/mod.rs => network/src/lib.rs} (100%) delete mode 100644 nomos-services/src/lib.rs create mode 100644 nomos-services/storage/Cargo.toml rename nomos-services/{src/storage => storage/src}/backends/mock.rs (100%) rename nomos-services/{src/storage => storage/src}/backends/mod.rs (100%) rename nomos-services/{src/storage => storage/src}/backends/sled.rs (100%) rename nomos-services/{src/storage/mod.rs => storage/src/lib.rs} (99%) diff --git a/Cargo.toml b/Cargo.toml index 38df4a60..31cf67a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,7 @@ [workspace] members = [ - "nomos-services" + "nomos-services/log", + "nomos-services/network", + "nomos-services/storage" ] \ No newline at end of file diff --git a/nomos-services/log/Cargo.toml b/nomos-services/log/Cargo.toml new file mode 100644 index 00000000..bb192ea0 --- /dev/null +++ b/nomos-services/log/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "nomos-log" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +async-trait = "0.1" +overwatch-rs = { git = "https://github.com/logos-co/Overwatch", branch = "main" } +serde = "1.0" +tracing = "0.1" +tracing-appender = "0.2" +tracing-subscriber = { version = "0.3", features = ["json"] } +tracing-gelf = "0.7" +futures = "0.3" diff --git a/nomos-services/src/log/mod.rs b/nomos-services/log/src/lib.rs similarity index 100% rename from nomos-services/src/log/mod.rs rename to nomos-services/log/src/lib.rs diff --git a/nomos-services/Cargo.toml b/nomos-services/network/Cargo.toml similarity index 70% rename from nomos-services/Cargo.toml rename to nomos-services/network/Cargo.toml index b93a5a3c..37266d9e 100644 --- a/nomos-services/Cargo.toml +++ b/nomos-services/network/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "nomos-services" +name = "nomos-network" version = "0.1.0" edition = "2021" @@ -15,17 +15,11 @@ sled = { version = "0.34", optional = true } tokio = { version = "1", features = ["sync"] } thiserror = "1.0" tracing = "0.1" -waku = { git = "https://github.com/waku-org/waku-rust-bindings" } +waku = { git = "https://github.com/waku-org/waku-rust-bindings", optional = true } tracing-appender = "0.2" tracing-subscriber = { version = "0.3", features = ["json"] } tracing-gelf = "0.7" futures = "0.3" -[dev-dependencies] -tempfile = "3.3" -tokio = { version = "1", features = ["sync", "macros", "time"] } - [features] -default = [] -mock = [] -sled-backend = ["sled"] \ No newline at end of file +default = ["waku"] \ No newline at end of file diff --git a/nomos-services/src/network/backends/mod.rs b/nomos-services/network/src/backends/mod.rs similarity index 92% rename from nomos-services/src/network/backends/mod.rs rename to nomos-services/network/src/backends/mod.rs index 45ca316c..4eec4ddf 100644 --- a/nomos-services/src/network/backends/mod.rs +++ b/nomos-services/network/src/backends/mod.rs @@ -2,7 +2,9 @@ use super::*; use overwatch_rs::services::state::ServiceState; use tokio::sync::broadcast::Receiver; +#[cfg(feature = "waku")] mod waku; +#[cfg(feature = "waku")] pub use self::waku::Waku; #[async_trait::async_trait] diff --git a/nomos-services/src/network/backends/waku.rs b/nomos-services/network/src/backends/waku.rs similarity index 100% rename from nomos-services/src/network/backends/waku.rs rename to nomos-services/network/src/backends/waku.rs diff --git a/nomos-services/src/network/mod.rs b/nomos-services/network/src/lib.rs similarity index 100% rename from nomos-services/src/network/mod.rs rename to nomos-services/network/src/lib.rs diff --git a/nomos-services/src/lib.rs b/nomos-services/src/lib.rs deleted file mode 100644 index 058a413f..00000000 --- a/nomos-services/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod log; -pub mod network; -pub mod storage; diff --git a/nomos-services/storage/Cargo.toml b/nomos-services/storage/Cargo.toml new file mode 100644 index 00000000..f86d63dd --- /dev/null +++ b/nomos-services/storage/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "nomos-storage" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +async-trait = "0.1" +tokio = { version = "1", features = ["sync"] } +bytes = "1.2" +overwatch-rs = { git = "https://github.com/logos-co/Overwatch", branch = "main" } +serde = "1.0" +sled = { version = "0.34", optional = true } +thiserror = "1.0" +tracing = "0.1" + +[dev-dependencies] +tempfile = "3.3" +tokio = { version = "1", features = ["sync", "macros", "time"] } + +[features] +default = [] +mock = [] +sled-backend = ["sled"] \ No newline at end of file diff --git a/nomos-services/src/storage/backends/mock.rs b/nomos-services/storage/src/backends/mock.rs similarity index 100% rename from nomos-services/src/storage/backends/mock.rs rename to nomos-services/storage/src/backends/mock.rs diff --git a/nomos-services/src/storage/backends/mod.rs b/nomos-services/storage/src/backends/mod.rs similarity index 100% rename from nomos-services/src/storage/backends/mod.rs rename to nomos-services/storage/src/backends/mod.rs diff --git a/nomos-services/src/storage/backends/sled.rs b/nomos-services/storage/src/backends/sled.rs similarity index 100% rename from nomos-services/src/storage/backends/sled.rs rename to nomos-services/storage/src/backends/sled.rs diff --git a/nomos-services/src/storage/mod.rs b/nomos-services/storage/src/lib.rs similarity index 99% rename from nomos-services/src/storage/mod.rs rename to nomos-services/storage/src/lib.rs index 165d6b5d..c3ac3893 100644 --- a/nomos-services/src/storage/mod.rs +++ b/nomos-services/storage/src/lib.rs @@ -9,8 +9,8 @@ use bytes::Bytes; use overwatch_rs::services::handle::ServiceStateHandle; use serde::de::DeserializeOwned; // internal -use crate::storage::backends::{StorageSerde, StorageTransaction}; use backends::StorageBackend; +use backends::{StorageSerde, StorageTransaction}; use overwatch_rs::services::relay::RelayMessage; use overwatch_rs::services::state::{NoOperator, NoState}; use overwatch_rs::services::{ServiceCore, ServiceData, ServiceId};