diff --git a/Cargo.lock b/Cargo.lock index c7cb935..dc71237 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -115,11 +115,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", "sync_wrapper", - "tokio", "tower", "tower-layer", "tower-service", @@ -227,9 +223,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" [[package]] name = "block-buffer" @@ -240,12 +236,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "bumpalo" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" - [[package]] name = "bytes" version = "1.5.0" @@ -313,22 +303,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - [[package]] name = "core-protobuf-data-access" version = "0.1.0" @@ -407,20 +381,11 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - [[package]] name = "env_logger" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" dependencies = [ "humantime", "is-terminal", @@ -469,45 +434,16 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - [[package]] name = "freyja" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ + "async-trait", "env_logger", "freyja-common", - "grpc-provider-proxy-v1", - "http-mock-provider-proxy", - "in-memory-mock-provider-proxy", "log", - "managed-subscribe-provider-proxy", - "mqtt-provider-proxy", "proc-macros", - "provider-proxy-selector", "time", "tokio", ] @@ -515,12 +451,12 @@ dependencies = [ [[package]] name = "freyja-build-common" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" [[package]] name = "freyja-common" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "config", @@ -539,8 +475,12 @@ version = "0.1.0" dependencies = [ "azure-cloud-connector-adapter", "freyja", + "freyja-common", + "grpc-data-adapter", "ibeji-adapter", - "in-memory-mock-mapping-client", + "in-memory-mock-mapping-adapter", + "managed-subscribe-data-adapter", + "mqtt-data-adapter", "paho-mqtt", "tokio", ] @@ -550,9 +490,13 @@ name = "freyja-ibeji-adapter-app" version = "0.1.0" dependencies = [ "freyja", + "freyja-common", + "grpc-data-adapter", "ibeji-adapter", "in-memory-mock-cloud-adapter", - "in-memory-mock-mapping-client", + "in-memory-mock-mapping-adapter", + "managed-subscribe-data-adapter", + "mqtt-data-adapter", "paho-mqtt", "tokio", ] @@ -562,9 +506,11 @@ name = "freyja-in-memory-app" version = "0.1.0" dependencies = [ "freyja", + "freyja-common", "in-memory-mock-cloud-adapter", + "in-memory-mock-data-adapter", "in-memory-mock-digital-twin-adapter", - "in-memory-mock-mapping-client", + "in-memory-mock-mapping-adapter", "tokio", ] @@ -691,9 +637,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] -name = "grpc-provider-proxy-v1" +name = "grpc-data-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-build-common", @@ -710,9 +656,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.23" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b553656127a00601c8ae5590fcfdc118e4083a7924b6cf4ffc1ea4b99dc429d7" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -750,9 +696,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" [[package]] name = "home" @@ -785,21 +731,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "http-mock-provider-proxy" -version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" -dependencies = [ - "async-trait", - "axum", - "freyja-build-common", - "freyja-common", - "log", - "reqwest", - "serde", - "tokio", -] - [[package]] name = "httparse" version = "1.8.0" @@ -854,19 +785,6 @@ dependencies = [ "tokio-io-timeout", ] -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - [[package]] name = "ibeji-adapter" version = "0.1.0" @@ -890,20 +808,10 @@ dependencies = [ "tower", ] -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "in-memory-mock-cloud-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-common", @@ -913,21 +821,22 @@ dependencies = [ ] [[package]] -name = "in-memory-mock-digital-twin-adapter" +name = "in-memory-mock-data-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-build-common", "freyja-common", + "log", "serde", "tokio", ] [[package]] -name = "in-memory-mock-mapping-client" +name = "in-memory-mock-digital-twin-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-build-common", @@ -937,14 +846,13 @@ dependencies = [ ] [[package]] -name = "in-memory-mock-provider-proxy" +name = "in-memory-mock-mapping-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-build-common", "freyja-common", - "log", "serde", "tokio", ] @@ -969,12 +877,6 @@ dependencies = [ "hashbrown 0.14.3", ] -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - [[package]] name = "is-terminal" version = "0.4.10" @@ -1001,15 +903,6 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" -[[package]] -name = "js-sys" -version = "0.3.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" -dependencies = [ - "wasm-bindgen", -] - [[package]] name = "json5" version = "0.4.1" @@ -1041,9 +934,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "log" @@ -1052,9 +945,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] -name = "managed-subscribe-provider-proxy" +name = "managed-subscribe-data-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "core-protobuf-data-access", @@ -1111,9 +1004,9 @@ dependencies = [ ] [[package]] -name = "mqtt-provider-proxy" +name = "mqtt-data-adapter" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "async-trait", "freyja-build-common", @@ -1131,24 +1024,6 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nom" version = "7.1.3" @@ -1184,38 +1059,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "openssl" -version = "0.10.62" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" -dependencies = [ - "bitflags 2.4.1", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - [[package]] name = "openssl-src" version = "300.2.1+3.2.0" @@ -1375,9 +1218,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] name = "powerfmt" @@ -1413,7 +1256,7 @@ dependencies = [ [[package]] name = "proc-macros" version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" +source = "git+https://github.com/eclipse-ibeji/freyja#4251a2d47da7fb69653db256ff89ead6db91b79c" dependencies = [ "convert_case", "proc-macro2", @@ -1475,17 +1318,6 @@ dependencies = [ "prost", ] -[[package]] -name = "provider-proxy-selector" -version = "0.1.0" -source = "git+https://github.com/eclipse-ibeji/freyja#4c54cf609b6d75416bd8f1f637339a9288307f1a" -dependencies = [ - "async-trait", - "freyja-common", - "log", - "tokio", -] - [[package]] name = "quote" version = "1.0.35" @@ -1563,44 +1395,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" -[[package]] -name = "reqwest" -version = "0.11.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - [[package]] name = "ron" version = "0.7.1" @@ -1634,7 +1428,7 @@ version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", @@ -1666,38 +1460,6 @@ dependencies = [ "tonic-build", ] -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "security-framework" -version = "2.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "serde" version = "1.0.195" @@ -1729,32 +1491,10 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_path_to_error" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" -dependencies = [ - "itoa", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - [[package]] name = "service_discovery_proto" version = "0.1.0" -source = "git+https://github.com/eclipse-chariott/chariott#4d8e45e7e3ac6f31575d7cfac9a3eb9bc3092bb0" +source = "git+https://github.com/eclipse-chariott/chariott#9939903831636b5a1534c7a1e38de5f28cb1c4b8" dependencies = [ "prost", "tokio", @@ -1828,27 +1568,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tempfile" version = "3.9.0" @@ -1909,21 +1628,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "tokio" version = "1.35.1" @@ -1962,16 +1666,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-stream" version = "0.1.14" @@ -2128,49 +1822,23 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" -[[package]] -name = "unicode-bidi" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" - [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - [[package]] name = "unicode-segmentation" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom", ] @@ -2202,82 +1870,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "wasm-bindgen" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" - -[[package]] -name = "web-sys" -version = "0.3.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - [[package]] name = "which" version = "4.4.2" @@ -2453,16 +2045,6 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "yaml-rust" version = "0.4.5" diff --git a/Cargo.toml b/Cargo.toml index f20292d..cafd6a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,9 +31,13 @@ core-protobuf-data-access = { git = "https://github.com/eclipse-ibeji/ibeji" } freyja = { git = "https://github.com/eclipse-ibeji/freyja" } freyja-build-common = { git = "https://github.com/eclipse-ibeji/freyja" } freyja-common = { git = "https://github.com/eclipse-ibeji/freyja" } +grpc-data-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } in-memory-mock-cloud-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } in-memory-mock-digital-twin-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } -in-memory-mock-mapping-client = { git = "https://github.com/eclipse-ibeji/freyja" } +in-memory-mock-mapping-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } +in-memory-mock-data-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } +managed-subscribe-data-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } +mqtt-data-adapter = { git = "https://github.com/eclipse-ibeji/freyja" } proc-macros = { git = "https://github.com/eclipse-ibeji/freyja" } ## Chariott diff --git a/freyja_apps/e2e/Cargo.toml b/freyja_apps/e2e/Cargo.toml index 999c13e..f3d6145 100644 --- a/freyja_apps/e2e/Cargo.toml +++ b/freyja_apps/e2e/Cargo.toml @@ -9,15 +9,19 @@ edition = "2021" license = "MIT" [dependencies] -# These two dependencies are required for anyone implementing a Freyja application +# These dependencies are required for anyone implementing a Freyja application freyja = { workspace = true } +freyja-common = { workspace = true } tokio = { workspace = true, features = ["macros"] } # Put any dependencies that you need for your adapters down here. # This samples utilizes the in-memory mock adapters. azure-cloud-connector-adapter = { workspace = true } ibeji-adapter = { workspace = true } -in-memory-mock-mapping-client = { workspace = true } +in-memory-mock-mapping-adapter = { workspace = true } +grpc-data-adapter = { workspace = true } +managed-subscribe-data-adapter = { workspace = true } +mqtt-data-adapter = { workspace = true } # If built for aarch64, enable the 'vendored-ssl' feature. [target.'cfg(target_arch = "aarch64")'.dependencies] diff --git a/freyja_apps/e2e/README.md b/freyja_apps/e2e/README.md index c10b777..de2ac76 100644 --- a/freyja_apps/e2e/README.md +++ b/freyja_apps/e2e/README.md @@ -6,7 +6,7 @@ This Freyja Example Application utilizes the [Ibeji Digital Twin Adapter](../../ To build and run the application, follow these steps: -1. (Optional) If necessary, author configuration overrides for the [`InMemoryMockMappingClient`](https://github.com/eclipse-ibeji/freyja/tree/main/mapping_clients/in_memory_mock_mapping_client). Refer to the adapter README files for instructions on how to do this. This repository provides overrides for the samples listed under [Supported Samples](../../README.md#supported-ibeji-samples). +1. (Optional) If necessary, author configuration overrides for the [`InMemoryMockMappingAdapter`](https://github.com/eclipse-ibeji/freyja/tree/main/adapters/mapping/in_memory_mock_mapping_adapter). Refer to the adapter README files for instructions on how to do this. This repository provides overrides for the samples listed under [Supported Samples](../../README.md#supported-ibeji-samples). 1. Set the `$FREYJA_HOME` environment variable. For example, to use the provided overrides for the [Ibeji mixed sample](https://github.com/eclipse-ibeji/ibeji/tree/main/samples/mixed), you can run the command below. diff --git a/freyja_apps/e2e/src/main.rs b/freyja_apps/e2e/src/main.rs index 0a51a0e..0557840 100644 --- a/freyja_apps/e2e/src/main.rs +++ b/freyja_apps/e2e/src/main.rs @@ -3,11 +3,15 @@ // SPDX-License-Identifier: MIT use azure_cloud_connector_adapter::azure_cloud_connector_adapter::AzureCloudConnectorAdapter; +use grpc_data_adapter::grpc_data_adapter_factory::GRPCDataAdapterFactory; use ibeji_adapter::ibeji_adapter::IbejiAdapter; -use in_memory_mock_mapping_client::in_memory_mock_mapping_client::InMemoryMockMappingClient; +use in_memory_mock_mapping_adapter::in_memory_mock_mapping_adapter::InMemoryMockMappingAdapter; +use managed_subscribe_data_adapter::managed_subscribe_data_adapter_factory::ManagedSubscribeDataAdapterFactory; +use mqtt_data_adapter::mqtt_data_adapter_factory::MqttDataAdapterFactory; freyja::freyja_main! { IbejiAdapter, AzureCloudConnectorAdapter, - InMemoryMockMappingClient + InMemoryMockMappingAdapter, + [GRPCDataAdapterFactory, ManagedSubscribeDataAdapterFactory, MqttDataAdapterFactory], } diff --git a/freyja_apps/ibeji_adapter/Cargo.toml b/freyja_apps/ibeji_adapter/Cargo.toml index c509db0..323ffda 100644 --- a/freyja_apps/ibeji_adapter/Cargo.toml +++ b/freyja_apps/ibeji_adapter/Cargo.toml @@ -9,15 +9,19 @@ edition = "2021" license = "MIT" [dependencies] -# These two dependencies are required for anyone implementing a Freyja application +# These dependencies are required for anyone implementing a Freyja application freyja = { workspace = true } +freyja-common = { workspace = true } tokio = { workspace = true, features = ["macros"] } # Put any dependencies that you need for your adapters down here. # This samples utilizes the in-memory mock adapters. in-memory-mock-cloud-adapter = { workspace = true } ibeji-adapter = { workspace = true } -in-memory-mock-mapping-client = { workspace = true } +in-memory-mock-mapping-adapter = { workspace = true } +grpc-data-adapter = { workspace = true } +managed-subscribe-data-adapter = { workspace = true } +mqtt-data-adapter = { workspace = true } # If built for aarch64, enable the 'vendored-ssl' feature. [target.'cfg(target_arch = "aarch64")'.dependencies] diff --git a/freyja_apps/ibeji_adapter/README.md b/freyja_apps/ibeji_adapter/README.md index 59cbac6..f764e04 100644 --- a/freyja_apps/ibeji_adapter/README.md +++ b/freyja_apps/ibeji_adapter/README.md @@ -6,7 +6,7 @@ This Freyja Example Application utilizes the [Ibeji Digital Twin Adapter](../../ To build and run the application, follow these steps: -1. (Optional) If necessary, author configuration overrides for the [`InMemoryMockMappingClient`](https://github.com/eclipse-ibeji/freyja/tree/main/mapping_clients/in_memory_mock_mapping_client). Refer to the adapter README files for instructions on how to do this. This repository provides overrides for the samples listed under [Supported Ibeji Samples](../../README.md#supported-ibeji-samples). +1. (Optional) If necessary, author configuration overrides for the [`InMemoryMockMappingAdapter`](https://github.com/eclipse-ibeji/freyja/tree/main/adapters/mapping/in_memory_mock_mapping_adapter). Refer to the adapter README files for instructions on how to do this. This repository provides overrides for the samples listed under [Supported Ibeji Samples](../../README.md#supported-ibeji-samples). 1. Set the `$FREYJA_HOME` environment variable. For example, to use the provided overrides for the [Ibeji mixed sample](https://github.com/eclipse-ibeji/ibeji/tree/main/samples/mixed), you can run the command below. diff --git a/freyja_apps/ibeji_adapter/src/main.rs b/freyja_apps/ibeji_adapter/src/main.rs index 595df94..0e75f67 100644 --- a/freyja_apps/ibeji_adapter/src/main.rs +++ b/freyja_apps/ibeji_adapter/src/main.rs @@ -2,12 +2,16 @@ // Licensed under the MIT license. // SPDX-License-Identifier: MIT +use grpc_data_adapter::grpc_data_adapter_factory::GRPCDataAdapterFactory; use ibeji_adapter::ibeji_adapter::IbejiAdapter; use in_memory_mock_cloud_adapter::in_memory_mock_cloud_adapter::InMemoryMockCloudAdapter; -use in_memory_mock_mapping_client::in_memory_mock_mapping_client::InMemoryMockMappingClient; +use in_memory_mock_mapping_adapter::in_memory_mock_mapping_adapter::InMemoryMockMappingAdapter; +use managed_subscribe_data_adapter::managed_subscribe_data_adapter_factory::ManagedSubscribeDataAdapterFactory; +use mqtt_data_adapter::mqtt_data_adapter_factory::MqttDataAdapterFactory; freyja::freyja_main! { IbejiAdapter, InMemoryMockCloudAdapter, - InMemoryMockMappingClient + InMemoryMockMappingAdapter, + [GRPCDataAdapterFactory, ManagedSubscribeDataAdapterFactory, MqttDataAdapterFactory], } diff --git a/freyja_apps/in_memory/Cargo.toml b/freyja_apps/in_memory/Cargo.toml index 0d16d1d..304c8ca 100644 --- a/freyja_apps/in_memory/Cargo.toml +++ b/freyja_apps/in_memory/Cargo.toml @@ -9,15 +9,17 @@ edition = "2021" license = "MIT" [dependencies] -# These two dependencies are required for anyone implementing a Freyja application +# These dependencies are required for anyone implementing a Freyja application freyja = { workspace = true } +freyja-common = { workspace = true } tokio = { workspace = true, features = ["macros"] } # Put any dependencies that you need for your adapters down here. # This samples utilizes the in-memory mock adapters. in-memory-mock-cloud-adapter = { workspace = true } in-memory-mock-digital-twin-adapter = { workspace = true } -in-memory-mock-mapping-client = { workspace = true } +in-memory-mock-mapping-adapter = { workspace = true } +in-memory-mock-data-adapter = { workspace = true } [features] containerize = [] diff --git a/freyja_apps/in_memory/src/main.rs b/freyja_apps/in_memory/src/main.rs index 2e1ad0f..45c83cc 100644 --- a/freyja_apps/in_memory/src/main.rs +++ b/freyja_apps/in_memory/src/main.rs @@ -3,7 +3,13 @@ // SPDX-License-Identifier: MIT use in_memory_mock_cloud_adapter::in_memory_mock_cloud_adapter::InMemoryMockCloudAdapter; +use in_memory_mock_data_adapter::in_memory_mock_data_adapter_factory::InMemoryMockDataAdapterFactory; use in_memory_mock_digital_twin_adapter::in_memory_mock_digital_twin_adapter::InMemoryMockDigitalTwinAdapter; -use in_memory_mock_mapping_client::in_memory_mock_mapping_client::InMemoryMockMappingClient; +use in_memory_mock_mapping_adapter::in_memory_mock_mapping_adapter::InMemoryMockMappingAdapter; -freyja::freyja_main! {InMemoryMockDigitalTwinAdapter, InMemoryMockCloudAdapter, InMemoryMockMappingClient} +freyja::freyja_main! { + InMemoryMockDigitalTwinAdapter, + InMemoryMockCloudAdapter, + InMemoryMockMappingAdapter, + [InMemoryMockDataAdapterFactory], +} diff --git a/freyja_apps/template/Cargo.template.toml b/freyja_apps/template/Cargo.template.toml index 1c7311a..2f39f39 100644 --- a/freyja_apps/template/Cargo.template.toml +++ b/freyja_apps/template/Cargo.template.toml @@ -9,8 +9,9 @@ edition = "2021" license = "MIT" [dependencies] -# These two dependencies are required for anyone implementing a Freyja application +# These dependencies are required for anyone implementing a Freyja application freyja = { git = "https://github.com/eclipse-ibeji/freyja" } +freyja-common = { git = "https://github.com/eclipse-ibeji/freyja" } tokio = { version = "1.0", features = ["macros"] } # Put any dependencies that you need for your adapters down here. diff --git a/freyja_apps/template/README.md b/freyja_apps/template/README.md index 3583676..eaef428 100644 --- a/freyja_apps/template/README.md +++ b/freyja_apps/template/README.md @@ -6,7 +6,7 @@ This is a template for creating a Freyja application. For more information about To create your own Freyja application, you can copy this template and make the following changes: -1. Choose the adapters to use. Freyja requires users to select a Cloud Adapter, a Digital Twin Adapter, and a Mapping Client. Some potential choices are: +1. Choose the adapters to use. Freyja requires users to select a Cloud Adapter, a Digital Twin Adapter, a Mapping Adapter, and at least one Data Adapter Factory. Some potential choices are: 1. Freyja mocks. These are enumerated [here](https://github.com/eclipse-ibeji/freyja/blob/main/docs/quickstart.md#appendix-a) and are generally only suitable for tests or demos. 1. [Example adapters from this repository](../../freyja_adapters/). 1. A custom adapter implementation. For more information on how to write and use these, see the see the [Freyja documentation on custom adapters](https://github.com/eclipse-ibeji/freyja/blob/main/docs/custom-adapters.md). diff --git a/freyja_apps/template/src/main.rs b/freyja_apps/template/src/main.rs index b21e4f5..4275eae 100644 --- a/freyja_apps/template/src/main.rs +++ b/freyja_apps/template/src/main.rs @@ -5,5 +5,11 @@ use my_adapters::MyCloudAdapter; use my_adapters::MyDigitaTwinAdapter; use my_adapters::MyMappingClient; +use my_adapters::MyDataAdapterFactory; -freyja::freyja_main! {MyDigitaTwinAdapter, MyCloudAdapter, MyMappingClient} +freyja::freyja_main! { + MyDigitaTwinAdapter, + MyCloudAdapter, + MyMappingClient, + [MyDataAdapterFactory], +}