Skip to content

Commit

Permalink
refacto(overhaul): crate-split + QoL enhancements (#170)
Browse files Browse the repository at this point in the history
This commit has one main purpose: facilitating the usage of Zenoh-Flow.

For a complete log, see PR #170 #170

To achieve that purpose, several major changes were made (the list is not exhaustive):

- Instead of having a single — large — crate, this PR separates the different parts of Zenoh-Flow's logic into several smaller crates. A direct consequence of this split is that to compile a Zenoh-Flow node, it is no longer needed to have to compile Zenoh and Zenoh-Flow which drastically reduces the compilation time.

- The writing of the data flow and node descriptors is more flexible:
  - the vars section is propagated to the "children",
  - the nodes descriptions can be written with the data flow descriptor, they don't have to live in a separate file,
  - all descriptors can be written in YAML or JSON (JSON support was only partial before).

- A `zenoh-flow-standalone-runtime` executable was created to locally test a data flow. This executable does not require using our CLI to interact with it.

- With the default options, Zenoh-Flow does not require configuration files or a Zenoh router with specific storages.


Signed-off-by: Julien Loudet <julien.loudet@zettascale.tech>
  • Loading branch information
J-Loudet authored Feb 5, 2024
1 parent 66b4231 commit 9bd1663
Show file tree
Hide file tree
Showing 182 changed files with 9,899 additions and 14,382 deletions.
129 changes: 68 additions & 61 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 27 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,18 @@
#
[workspace]
members = [
"cargo-zenoh-flow",
"zenoh-flow",
"examples",
"zenoh-flow-commons",
"zenoh-flow-daemon",
"zenoh-flow-derive",
"zenoh-flow-plugin",
"zenoh-flow-descriptors",
"zenoh-flow-nodes",
"zenoh-flow-records",
"zenoh-flow-runtime",
"zenoh-flow-standalone-daemon",
"zenoh-flow-standalone-runtime",
"zenoh-plugin-zenoh-flow",
"zfctl",
"examples",
]

[workspace.package]
Expand All @@ -34,27 +39,40 @@ repository = "https://github.com/eclipse-zenoh/zenoh-flow"
version = "0.6.0-dev"

[workspace.dependencies]
async-std = "1.12"
anyhow = "1"
async-std = { version = "1.12", features = ["attributes"] }
async-trait = "0.1.50"
base64 = "0.21"
clap = "4.0"
bytesize = "1.2.0"
clap = { version = "4.0", features = ["derive"] }
env_logger = "0.10"
flume = "0.11"
futures = "0.3.15"
git-version = "0.3"
log = "0.4"
serde = "1.0"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_cbor = "0.11"
serde_derive = "1.0"
serde_json = "1.0"
serde_yaml = "0.9"
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3" }
uhlc = "0.6"
uuid = "1.1"
zenoh = { version = "0.7.2-rc" }
url = { version = "2.2", features = ["serde"] }
uuid = { version = "1.1", features = ["serde", "v4"] }
zenoh = { version = "0.7.2-rc", features = ["shared-memory"] }
zenoh-collections = { version = "0.7.2-rc" }
zenoh-core = { version = "0.7.2-rc" }
zenoh-ext = { version = "0.7.2-rc" }
zenoh-flow-commons = { path = "./zenoh-flow-commons" }
zenoh-flow-daemon = { path = "./zenoh-flow-daemon" }
zenoh-flow-descriptors = { path = "./zenoh-flow-descriptors" }
zenoh-flow-nodes = { path = "./zenoh-flow-nodes" }
zenoh-flow-records = { path = "./zenoh-flow-records" }
zenoh-flow-runtime = { path = "./zenoh-flow-runtime" }
zenoh-keyexpr = { version = "0.7.2-rc" }
zenoh-plugin-trait = { version = "0.7.2-rc", default-features = false }
zenoh-protocol = { version = "0.7.2-rc" }
zenoh-sync = { version = "0.7.2-rc" }
zenoh-util = { version = "0.7.2-rc" }
zrpc = { version = "0.7.0-alpha.1" }
Expand Down
56 changes: 0 additions & 56 deletions cargo-zenoh-flow/Cargo.toml

This file was deleted.

Loading

0 comments on commit 9bd1663

Please sign in to comment.