Skip to content

Commit

Permalink
Merge pull request #17 from PLeVasseur/feature/up-linux-streamer-as-z…
Browse files Browse the repository at this point in the history
…enoh-plugin

Initial implementation of up-linux-streamer-plugin as a Zenoh Plugin
  • Loading branch information
PLeVasseur authored Aug 14, 2024
2 parents f291e0b + 12b80bb commit 541160e
Show file tree
Hide file tree
Showing 38 changed files with 938 additions and 26 deletions.
107 changes: 106 additions & 1 deletion Cargo.lock

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

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
[workspace]
resolver = "2"
members = [
"example-streamer-uses",
"utils/hello-world-protos",
"utils/integration-test-utils",
"up-linux-streamer",
"up-linux-streamer", "up-linux-streamer-plugin",
"up-streamer", "subscription-cache", "utils/usubscription-static-file"]

[workspace.package]
Expand Down
60 changes: 60 additions & 0 deletions example-streamer-uses/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0

[package]
name = "example-streamer-uses"
rust-version.workspace = true
version.workspace = true
repository.workspace = true
homepage.workspace = true
edition.workspace = true
keywords.workspace = true
license.workspace = true

[[bin]]
name = "me_client"

[[bin]]
name = "me_publisher"

[[bin]]
name = "me_service"

[[bin]]
name = "me_subscriber"

[[bin]]
name = "ue_client"

[[bin]]
name = "ue_publisher"

[[bin]]
name = "ue_service"

[[bin]]
name = "ue_subscriber"

[dependencies]
async-trait = { workspace = true }
chrono = { version = "0.4" }
clap = { version = "4.5.9", features = ["derive"] }
env_logger = { version = "0.10.2" }
hello-world-protos = { path = "../utils/hello-world-protos" }
log = { workspace = true }
json5 = { workspace = true }
protobuf = { workspace = true }
serde = { workspace = true }
tokio = { workspace = true }
up-rust = { workspace = true }
up-transport-zenoh = { git = "https://github.com/eclipse-uprotocol/up-transport-zenoh-rust.git", rev = "7c839e7a94f526a82027564a609f48a79a3f4eae" }
up-transport-vsomeip = { git = "https://github.com/eclipse-uprotocol/up-transport-vsomeip-rust.git", rev = "acbb0d0c9b8b48dd35c74f461e97151f1e922000", default-features = false }
zenoh = { version = "0.11.0-rc.3", features = ["unstable"]}
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/********************************************************************************
* Copyright (c) 2024 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

use async_trait::async_trait;
use hello_world_protos::hello_world_service::{HelloRequest, HelloResponse};
use log::trace;
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/********************************************************************************
* Copyright (c) 2024 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

use async_trait::async_trait;
use hello_world_protos::hello_world_service::{HelloRequest, HelloResponse};
use log::{error, trace};
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/********************************************************************************
* Copyright (c) 2024 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
********************************************************************************/

use async_trait::async_trait;
use clap::Parser;
use hello_world_protos::hello_world_service::{HelloRequest, HelloResponse};
Expand Down
File renamed without changes.
13 changes: 12 additions & 1 deletion subscription-cache/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0

[package]
name = "subscription-cache"
rust-version.workspace = true
Expand All @@ -20,4 +31,4 @@ uuid = { workspace = true }
serde_json = { workspace = true }
serde = { workspace = true }
up-rust = { workspace = true, features = ["usubscription"] }
protobuf = { version = "3.3", features = ["with-bytes"] }
protobuf = { version = "3.3", features = ["with-bytes"] }
57 changes: 57 additions & 0 deletions up-linux-streamer-plugin/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0

[package]
name = "up-linux-streamer-plugin"
rust-version.workspace = true
version.workspace = true
repository.workspace = true
homepage.workspace = true
edition.workspace = true
keywords.workspace = true
license.workspace = true

[features]
default = ["bundled-vsomeip", "dynamic_plugin", "zenoh/default", "zenoh/unstable", "zenoh/plugins"]
bundled-vsomeip = ["up-transport-vsomeip/bundled"]
dynamic_plugin = []

[lib]
# When auto-detecting the "example" plugin, `zenohd` will look for a dynamic library named "zenoh_plugin_example"
# `zenohd` will expect the file to be named according to OS conventions:
# - libzenoh_plugin_example.so on linux
# - libzenoh_plugin_example.dylib on macOS
# - zenoh_plugin_example.dll on Windows
name = "zenoh_plugin_up_linux_streamer"
# This crate type will make `cargo` output a dynamic library instead of a rust static library
crate-type = ["cdylib"]

[dependencies]
async-std = { version = "=1.12.0", default-features = false }
const_format = "0.2.30"
futures = { version = "0.3.25" }
git-version = { version = "0.3.5" }
tracing = { version = "0.1" }
serde = { version = "1.0.154" }
serde_json = { version = "1.0.94" }
tokio = { version = "1.35.1", default-features = false }
up-rust = { git = "https://github.com/eclipse-uprotocol/up-rust", rev = "3a50104421a801d52e1d9c68979db54c013ce43d" }
up-transport-zenoh = { git = "https://github.com/eclipse-uprotocol/up-transport-zenoh-rust.git", rev = "b977153265d22c4bb4bbbc20dea403342b9ab438" }
up-transport-vsomeip = { git = "https://github.com/eclipse-uprotocol/up-transport-vsomeip-rust.git", rev = "acbb0d0c9b8b48dd35c74f461e97151f1e922000", default-features = false }
up-streamer = { path = "../up-streamer" }
usubscription-static-file = {path = "../utils/usubscription-static-file"}
zenoh = { version = "0.11.0-rc.3", features = ["plugins", "unstable"] }
zenoh-core = { version = "0.11.0-rc.3" }
zenoh-plugin-trait = { version = "0.11.0-rc.3" }
zenoh-result = { version = "0.11.0-rc.3" }
zenoh-util = { version = "0.11.0-rc.3" }
zenoh_backend_traits = { version = "0.11.0-rc.3" }
env_logger = "0.10.2"
Loading

0 comments on commit 541160e

Please sign in to comment.