Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat/remote api #1217

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
b8ddbac
feat: Begin remote-api plugin
Charles-Schleich May 13, 2024
edc3397
feat: RemoteAPI: Start message handling + Deserializtion
Charles-Schleich May 13, 2024
bd8f48e
feat: Remote API, WIP Add handling of open Session + Websocket + stat…
Charles-Schleich May 15, 2024
d1068e8
feat: RemoteAPI async pass of state to functions
Charles-Schleich May 17, 2024
022701c
feat: WIP added Creation of Subscriber on Backend, not receiving samp…
Charles-Schleich May 23, 2024
faa50cc
feat: remote-api remove spawn of async task for reciever, reciever pa…
Charles-Schleich May 27, 2024
ce9433b
WIP, Remote API, wrapping Sent message in enum layer
Charles-Schleich May 31, 2024
b62ddaf
Add Default for SourceInfo
sashacmc Jun 4, 2024
2449c76
feat: remote_api: impl Handle multiple subscribers to a single Websoc…
Charles-Schleich Jun 10, 2024
08015d5
Merge branch 'local_dev/1.0.0' into feat/remote-api
Charles-Schleich Jun 24, 2024
80148c2
migrate to dev/1.0.0
Charles-Schleich Jun 24, 2024
d214cae
fix wildcards not reaching frontend
Charles-Schleich Jun 25, 2024
4614d49
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 3, 2024
3c627a0
Merge branch 'dev/1.0.0' into feat/remote-api
Charles-Schleich Jul 4, 2024
7cb4da4
Align with Zenoh 1.0.0 API
Charles-Schleich Jul 4, 2024
2247070
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 4, 2024
5a25296
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 5, 2024
a302174
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 5, 2024
87d9283
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 5, 2024
353c67b
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 5, 2024
859b181
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 5, 2024
16d9e97
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 7, 2024
7a6f645
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 8, 2024
3ffebc6
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 8, 2024
be4f16a
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 12, 2024
e8789d4
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 12, 2024
6273735
Move rs->ts types to interface.rs file, imple add Publisher to state …
Charles-Schleich Jul 12, 2024
8344561
Begin Rework Remote-API plugin Backend
Charles-Schleich Jul 15, 2024
89ebf40
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 16, 2024
3d13f1c
Clone Runtime to plugin state, impl UndeclarePublisher, put+delete di…
Charles-Schleich Jul 16, 2024
0da9545
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 16, 2024
08f4e40
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 18, 2024
56852f8
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 18, 2024
836778c
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 19, 2024
197b814
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 19, 2024
b9cb6a2
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 19, 2024
ddf9eaa
WIP add Queryable, ReplyWS, QueryWS, move handle_data_message to own …
Charles-Schleich Jul 19, 2024
5763673
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 22, 2024
f524d6f
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 22, 2024
6c4aed6
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 23, 2024
8f3c76c
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 23, 2024
0d36739
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 24, 2024
0621e3b
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 24, 2024
6696c3f
move control message handling out to own file, implement query handli…
Charles-Schleich Jul 24, 2024
6293d60
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 24, 2024
e714009
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 25, 2024
fcfe5b7
Fix handle query incorrect uuid
Charles-Schleich Jul 25, 2024
ff21f52
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 25, 2024
1bd5e62
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 25, 2024
9c66aac
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 26, 2024
7c6f03e
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 26, 2024
fb6292f
add GetFinished, Handle get not accumulting replies, and blocking. si…
Charles-Schleich Jul 26, 2024
2043adb
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 26, 2024
db99252
Refactor of Handle message, improve error handling, code cleanliness,…
Charles-Schleich Jul 28, 2024
49adddb
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 29, 2024
871142c
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 30, 2024
39b3060
Move remote-api to Tokio Runtime, begin add WSS support + config
Charles-Schleich Jul 30, 2024
7e50919
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 30, 2024
16a07a1
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 31, 2024
f18d3d0
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 31, 2024
0351416
Add config for WSS, Spawn Tokio Runtime at Plugin Startup, fix option…
Charles-Schleich Jul 31, 2024
852eca5
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Jul 31, 2024
4ebb3d5
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 1, 2024
3dda254
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 2, 2024
2a407a8
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 2, 2024
c1b5116
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 2, 2024
565227a
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 5, 2024
6e79eb0
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 5, 2024
4aeac2a
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 6, 2024
b635080
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 6, 2024
65efb6b
drop write guard to state_map, remote plugin listen on all interfaces…
Charles-Schleich Aug 6, 2024
809a37b
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 6, 2024
d0888f7
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 7, 2024
16a61a1
Merge branch 'eclipse-zenoh:dev/1.0.0' into dev/1.0.0
zettascale-bot Aug 7, 2024
8012ab7
reworked interface for Query, Reply, Error, Delete, handled sending …
Charles-Schleich Aug 7, 2024
8fa9f14
Merge branch 'dev/1.0.0' into feat/remote-api
Charles-Schleich Aug 8, 2024
9526e1b
fix DEFAULT_CONFIG comment
Charles-Schleich Aug 8, 2024
f4ba331
removed publisher set congestion/priority after initialization, drop …
Charles-Schleich Aug 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 108 additions & 30 deletions Cargo.lock

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

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ members = [
"plugins/zenoh-plugin-example",
"plugins/zenoh-backend-traits",
"plugins/zenoh-plugin-rest",
"plugins/zenoh-plugin-remote-api",
"plugins/zenoh-plugin-storage-manager",
"plugins/zenoh-plugin-trait",
"zenoh",
Expand Down
3 changes: 3 additions & 0 deletions DEFAULT_CONFIG.json5
Original file line number Diff line number Diff line change
Expand Up @@ -609,5 +609,8 @@
// storage_manager: {
// __config__: "./plugins/zenoh-plugin-storage-manager/config.json5",
// }
// remote_api: {
// __config__: "./plugins/zenoh-plugin-remote-api/config.json5",
// },
// },
}
2 changes: 2 additions & 0 deletions plugins/zenoh-plugin-example/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,9 @@ impl Plugin for ExamplePlugin {

// a flag to end the plugin's loop when the plugin is removed from the config
let flag = Arc::new(AtomicBool::new(true));

spawn_runtime(run(runtime.clone(), selector, flag.clone()));

// return a RunningPlugin to zenohd
Ok(Box::new(RunningPlugin(Arc::new(Mutex::new(
RunningPluginInner {
Expand Down
79 changes: 79 additions & 0 deletions plugins/zenoh-plugin-remote-api/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#
# Copyright (c) 2023 ZettaScale Technology
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# ZettaScale Zenoh Team, <[email protected]>
#
[package]
rust-version = { workspace = true }
name = "zenoh-plugin-remote-api"
version = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
categories = [
"network-programming",
"web-programming::http-server",
"websocket",
]
description = "The zenoh Remote Api plugin"

[features]
default = ["dynamic_plugin", "zenoh/default", "zenoh/unstable", "zenoh/plugins"]
dynamic_plugin = []

[lib]
name = "zenoh_plugin_remote_api"
crate-type = ["cdylib", "rlib"]

[dependencies]
anyhow = { workspace = true, features = ["default"] }
tokio = { version = "1.39.2", features = ["full"] }
tokio-tungstenite = "0.23.1"
tokio-rustls = {version = "0.26.0", default-features = false}
futures-util = "0.3.30"
rustls-pemfile = "2.1.2"

base64 = { workspace = true }
flume = { workspace = true }
futures = { workspace = true }
git-version = { workspace = true }
lazy_static = { workspace = true }
ts-rs = { version = "9.0", features = ["serde-compat","uuid-impl", "serde-json-impl"] }
tracing = { workspace = true }
schemars = { workspace = true }
serde = { workspace = true, features = ["default"] }
serde_json = { workspace = true }
zenoh = { workspace = true, features = ["unstable", "internal", "plugins"] }
zenoh-util = { workspace = true }
zenoh-plugin-trait = { workspace = true }
zenoh-result = { workspace = true }
uuid = { workspace = true, features = ["serde"] }
uhlc = { workspace = true }

[build-dependencies]
rustc_version = { workspace = true }
schemars = { workspace = true }
serde = { workspace = true, features = ["default"] }
serde_json = { workspace = true }
jsonschema = { workspace = true }

[dev-dependencies]
clap = { workspace = true }

[package.metadata.deb]
name = "zenoh-plugin-remote-api"
maintainer = "[email protected]"
copyright = "2024 ZettaScale Technology"
section = "net"
license-file = ["../../LICENSE", "0"]
depends = "zenohd (=0.11.0-dev-1)"
Loading
Loading