diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 985e8e0..2c322f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,8 +41,7 @@ jobs: rustup component add rustfmt clippy - name: Code format check - run: cargo fmt --check - + run: cargo fmt --check -- --config "unstable_features=true,imports_granularity=Crate,group_imports=StdExternalCrate" - name: Clippy run: cargo clippy --all --examples -- -D warnings diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..9b6d0d6 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,8 @@ +repos: + - repo: local + hooks: + - id: fmt + name: fmt + entry: cargo fmt -- --config "unstable_features=true,imports_granularity=Crate,group_imports=StdExternalCrate" + language: system + types: [rust] diff --git a/Cargo.lock b/Cargo.lock index aac5405..9bdddca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4380,7 +4380,7 @@ dependencies = [ [[package]] name = "zenoh" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "ahash", "async-trait", @@ -4482,7 +4482,7 @@ dependencies = [ [[package]] name = "zenoh-buffers" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "zenoh-collections", ] @@ -4490,7 +4490,7 @@ dependencies = [ [[package]] name = "zenoh-codec" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "serde", "tracing", @@ -4502,12 +4502,12 @@ dependencies = [ [[package]] name = "zenoh-collections" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" [[package]] name = "zenoh-config" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "flume", "json5", @@ -4529,7 +4529,7 @@ dependencies = [ [[package]] name = "zenoh-core" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-global-executor", "lazy_static", @@ -4541,7 +4541,7 @@ dependencies = [ [[package]] name = "zenoh-crypto" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "aes 0.8.3", "hmac 0.12.1", @@ -4554,7 +4554,7 @@ dependencies = [ [[package]] name = "zenoh-keyexpr" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "hashbrown", "keyed-set", @@ -4568,7 +4568,7 @@ dependencies = [ [[package]] name = "zenoh-link" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "zenoh-config", @@ -4586,7 +4586,7 @@ dependencies = [ [[package]] name = "zenoh-link-commons" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "flume", @@ -4610,7 +4610,7 @@ dependencies = [ [[package]] name = "zenoh-link-quic" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "base64 0.22.1", @@ -4641,7 +4641,7 @@ dependencies = [ [[package]] name = "zenoh-link-tcp" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "tokio", @@ -4659,7 +4659,7 @@ dependencies = [ [[package]] name = "zenoh-link-tls" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "base64 0.22.1", @@ -4689,7 +4689,7 @@ dependencies = [ [[package]] name = "zenoh-link-udp" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "socket2 0.5.6", @@ -4710,7 +4710,7 @@ dependencies = [ [[package]] name = "zenoh-link-unixsock_stream" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "futures", @@ -4730,7 +4730,7 @@ dependencies = [ [[package]] name = "zenoh-link-ws" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "futures-util", @@ -4751,7 +4751,7 @@ dependencies = [ [[package]] name = "zenoh-macros" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "proc-macro2", "quote", @@ -4762,7 +4762,7 @@ dependencies = [ [[package]] name = "zenoh-plugin-trait" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "libloading", "serde", @@ -4777,7 +4777,7 @@ dependencies = [ [[package]] name = "zenoh-protocol" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "const_format", "rand 0.8.5", @@ -4792,7 +4792,7 @@ dependencies = [ [[package]] name = "zenoh-result" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "anyhow", ] @@ -4800,7 +4800,7 @@ dependencies = [ [[package]] name = "zenoh-runtime" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "futures", "lazy_static", @@ -4815,7 +4815,7 @@ dependencies = [ [[package]] name = "zenoh-sync" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "event-listener 5.3.1", "futures", @@ -4829,7 +4829,7 @@ dependencies = [ [[package]] name = "zenoh-task" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "futures", "tokio", @@ -4842,7 +4842,7 @@ dependencies = [ [[package]] name = "zenoh-transport" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-trait", "flume", @@ -4874,7 +4874,7 @@ dependencies = [ [[package]] name = "zenoh-util" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-std", "async-trait", @@ -4898,7 +4898,7 @@ dependencies = [ [[package]] name = "zenoh_backend_traits" version = "0.11.0-dev" -source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#1790d59d1a9aa4995b3997f6fa96e90b24d28a25" +source = "git+https://github.com/eclipse-zenoh/zenoh.git?branch=dev/1.0.0#e021d0de69e589e06c4ec8f328097610ce52a44d" dependencies = [ "async-std", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index e35e249..9f933db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,4 +51,4 @@ zenoh = { version = "0.11.0-dev", git = "https://github.com/eclipse-zenoh/zenoh. "plugins" ] } zenoh_backend_traits = { version = "0.11.0-dev", git = "https://github.com/eclipse-zenoh/zenoh.git", branch = "dev/1.0.0" } -zenoh-plugin-trait = { version = "0.11.0-dev", git = "htttps://github.com/eclipse-zenoh/zenoh", branch = "dev/1.0.0" } +zenoh-plugin-trait = { version = "0.11.0-dev", git = "htttps://github.com/eclipse-zenoh/zenoh.git", branch = "dev/1.0.0" } diff --git a/v1/src/lib.rs b/v1/src/lib.rs index 3e32fcb..9f0a5ee 100644 --- a/v1/src/lib.rs +++ b/v1/src/lib.rs @@ -12,6 +12,12 @@ // ZettaScale Zenoh Team, // +use std::{ + convert::{TryFrom, TryInto}, + str::FromStr, + time::{Duration, Instant}, +}; + use async_std::task; use async_trait::async_trait; use base64::{engine::general_purpose::STANDARD as b64_std_engine, Engine}; @@ -19,23 +25,20 @@ use influxdb::{ Client, ReadQuery as InfluxRQuery, Timestamp as InfluxTimestamp, WriteQuery as InfluxWQuery, }; use serde::Deserialize; -use std::convert::{TryFrom, TryInto}; -use std::str::FromStr; -use std::time::{Duration, Instant}; use tracing::{debug, error, warn}; use uuid::Uuid; -use zenoh::encoding::Encoding; -use zenoh::internal::{bail, buffers::ZBuf, zerror, Timed, TimedEvent, TimedHandle, Timer, Value}; -use zenoh::key_expr::KeyExpr; -use zenoh::key_expr::{keyexpr, OwnedKeyExpr}; -use zenoh::selector::{Parameters, TimeBound, TimeExpr, TimeRange}; -use zenoh::time::Timestamp; -use zenoh::{try_init_log_from_env, Error, Result as ZResult}; -use zenoh_backend_traits::config::{ - PrivacyGetResult, PrivacyTransparentGet, StorageConfig, VolumeConfig, +use zenoh::{ + bytes::Encoding, + internal::{bail, buffers::ZBuf, zerror, Timed, TimedEvent, TimedHandle, Timer, Value}, + key_expr::{keyexpr, KeyExpr, OwnedKeyExpr}, + query::{Parameters, TimeBound, TimeExpr, TimeRange}, + time::Timestamp, + try_init_log_from_env, Error, Result as ZResult, +}; +use zenoh_backend_traits::{ + config::{PrivacyGetResult, PrivacyTransparentGet, StorageConfig, VolumeConfig}, + StorageInsertionResult, *, }; -use zenoh_backend_traits::StorageInsertionResult; -use zenoh_backend_traits::*; use zenoh_plugin_trait::{plugin_long_version, plugin_version, Plugin}; // Properties used by the Backend @@ -922,8 +925,9 @@ fn clauses_from_parameters(p: &str) -> ZResult { } fn write_timeexpr(s: &mut String, t: TimeExpr) { - use humantime::format_rfc3339; use std::fmt::Write; + + use humantime::format_rfc3339; match t { TimeExpr::Fixed(t) => write!(s, "'{}'", format_rfc3339(t)), TimeExpr::Now { offset_secs } => write!(s, "now(){offset_secs:+}s"), diff --git a/v2/src/lib.rs b/v2/src/lib.rs index aa544a3..3006768 100644 --- a/v2/src/lib.rs +++ b/v2/src/lib.rs @@ -12,35 +12,39 @@ // ZettaScale Zenoh Team, // +use std::{ + convert::{TryFrom, TryInto}, + str::FromStr, + time::{Duration, Instant, UNIX_EPOCH}, +}; + use async_std::task; use async_trait::async_trait; use base64::{engine::general_purpose::STANDARD as b64_std_engine, Engine}; use chrono::{NaiveDateTime, SecondsFormat}; use futures::prelude::*; -use influxdb2::api::buckets::ListBucketsRequest; -use influxdb2::models::Query; -use influxdb2::models::{DataPoint, PostBucketRequest}; -use influxdb2::Client; -use influxdb2::FromDataPoint; -use std::convert::{TryFrom, TryInto}; -use std::str::FromStr; -use std::time::{Duration, Instant, UNIX_EPOCH}; +use influxdb2::{ + api::buckets::ListBucketsRequest, + models::{DataPoint, PostBucketRequest, Query}, + Client, FromDataPoint, +}; use uuid::Uuid; -use zenoh::encoding::Encoding; -use zenoh::internal::{ - bail, - buffers::{SplitBuffer, ZBuf}, - zerror, Timed, TimedEvent, TimedHandle, Timer, Value, +use zenoh::{ + bytes::Encoding, + internal::{ + bail, + buffers::{SplitBuffer, ZBuf}, + zerror, Timed, TimedEvent, TimedHandle, Timer, Value, + }, + key_expr::{keyexpr, OwnedKeyExpr}, + query::{Parameters, TimeExpr}, + time::{new_timestamp, Timestamp}, + try_init_log_from_env, Error, Result as ZResult, }; -use zenoh::key_expr::{keyexpr, OwnedKeyExpr}; -use zenoh::selector::{Parameters, TimeExpr}; -use zenoh::time::{new_timestamp, Timestamp}; -use zenoh::{try_init_log_from_env, Error, Result as ZResult}; -use zenoh_backend_traits::config::{ - PrivacyGetResult, PrivacyTransparentGet, StorageConfig, VolumeConfig, +use zenoh_backend_traits::{ + config::{PrivacyGetResult, PrivacyTransparentGet, StorageConfig, VolumeConfig}, + StorageInsertionResult, *, }; -use zenoh_backend_traits::StorageInsertionResult; -use zenoh_backend_traits::*; use zenoh_plugin_trait::{plugin_long_version, plugin_version, Plugin}; // Properties used by the Backend @@ -847,7 +851,7 @@ fn key_exprs_to_influx_regex(path_exprs: &[&keyexpr]) -> String { } fn timerange_from_parameters(p: &str) -> ZResult> { - use zenoh::selector::{TimeBound, TimeRange}; + use zenoh::query::{TimeBound, TimeRange}; let time_range = TimeRange::from_str(p); let mut result = String::new(); match time_range {