minot-cli 0.5.2__tar.gz → 0.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {minot_cli-0.5.2 → minot_cli-0.5.3}/Cargo.lock +8 -8
  2. {minot_cli-0.5.2 → minot_cli-0.5.3}/Cargo.toml +7 -7
  3. {minot_cli-0.5.2 → minot_cli-0.5.3}/PKG-INFO +1 -1
  4. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/lib.rs +9 -6
  5. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/src/lib.rs +4 -25
  6. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/Cargo.toml +0 -0
  7. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/README.md +0 -0
  8. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/build.rs +0 -0
  9. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/app.rs +0 -0
  10. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/coord.rs +0 -0
  11. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/event.rs +0 -0
  12. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/handler.rs +0 -0
  13. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/minot.rs +0 -0
  14. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/runner.rs +0 -0
  15. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/tui.rs +0 -0
  16. {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/ui.rs +0 -0
  17. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/Cargo.toml +0 -0
  18. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/README.md +0 -0
  19. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/src/lib.rs +0 -0
  20. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/src/qos.rs +0 -0
  21. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/test/metadata-v5.yml +0 -0
  22. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/test/metadata-v9.yml +0 -0
  23. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/Cargo.toml +0 -0
  24. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/README.md +0 -0
  25. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/src/lib.rs +0 -0
  26. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/Cargo.toml +0 -0
  27. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/README.md +0 -0
  28. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/src/lib.rs +0 -0
  29. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/Cargo.toml +0 -0
  30. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/README.md +0 -0
  31. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/client.rs +0 -0
  32. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/coordinator.rs +0 -0
  33. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/net.rs +0 -0
  34. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/ship.rs +0 -0
  35. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/Cargo.toml +0 -0
  36. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/README.md +0 -0
  37. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/lib.rs +0 -0
  38. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ratpub.rs +0 -0
  39. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros1.rs +0 -0
  40. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros2.rs +0 -0
  41. {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros2_r2r.rs +0 -0
  42. {minot_cli-0.5.2 → minot_cli-0.5.3}/pyproject.toml +0 -0
  43. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/Cargo.toml +0 -0
  44. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/README.md +0 -0
  45. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/examples/pub.rs +0 -0
  46. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/examples/smol.rs +0 -0
  47. {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/examples/sub.rs +0 -0
@@ -2493,7 +2493,7 @@ dependencies = [
2493
2493
 
2494
2494
  [[package]]
2495
2495
  name = "minot"
2496
- version = "0.5.2"
2496
+ version = "0.5.3"
2497
2497
  dependencies = [
2498
2498
  "anyhow",
2499
2499
  "bytesize",
@@ -2590,7 +2590,7 @@ dependencies = [
2590
2590
 
2591
2591
  [[package]]
2592
2592
  name = "mt_bagread"
2593
- version = "0.5.2"
2593
+ version = "0.5.3"
2594
2594
  dependencies = [
2595
2595
  "anyhow",
2596
2596
  "camino",
@@ -2610,7 +2610,7 @@ dependencies = [
2610
2610
 
2611
2611
  [[package]]
2612
2612
  name = "mt_mtc"
2613
- version = "0.5.2"
2613
+ version = "0.5.3"
2614
2614
  dependencies = [
2615
2615
  "anyhow",
2616
2616
  "ariadne",
@@ -2623,7 +2623,7 @@ dependencies = [
2623
2623
 
2624
2624
  [[package]]
2625
2625
  name = "mt_net"
2626
- version = "0.5.2"
2626
+ version = "0.5.3"
2627
2627
  dependencies = [
2628
2628
  "anyhow",
2629
2629
  "rkyv 0.8.15",
@@ -2633,7 +2633,7 @@ dependencies = [
2633
2633
 
2634
2634
  [[package]]
2635
2635
  name = "mt_rat"
2636
- version = "0.5.2"
2636
+ version = "0.5.3"
2637
2637
  dependencies = [
2638
2638
  "anyhow",
2639
2639
  "async-trait",
@@ -2648,7 +2648,7 @@ dependencies = [
2648
2648
 
2649
2649
  [[package]]
2650
2650
  name = "mt_sea"
2651
- version = "0.5.2"
2651
+ version = "0.5.3"
2652
2652
  dependencies = [
2653
2653
  "anyhow",
2654
2654
  "async-trait",
@@ -2664,7 +2664,7 @@ dependencies = [
2664
2664
 
2665
2665
  [[package]]
2666
2666
  name = "mt_wind"
2667
- version = "0.5.2"
2667
+ version = "0.5.3"
2668
2668
  dependencies = [
2669
2669
  "anyhow",
2670
2670
  "async-trait",
@@ -3788,7 +3788,7 @@ dependencies = [
3788
3788
 
3789
3789
  [[package]]
3790
3790
  name = "ratpub"
3791
- version = "0.5.2"
3791
+ version = "0.5.3"
3792
3792
  dependencies = [
3793
3793
  "anyhow",
3794
3794
  "async-trait",
@@ -4,7 +4,7 @@ members = ["minot", "ratpub", "mt_bagread", "mt_mtc", "mt_sea", "mt_wind", "mt_n
4
4
  resolver = "3"
5
5
 
6
6
  [workspace.package]
7
- version = "0.5.2"
7
+ version = "0.5.3"
8
8
  keywords = ["robotics"]
9
9
  license = "MIT OR Apache-2.0"
10
10
  repository = "https://codeberg.org/stelzo/minot"
@@ -28,12 +28,12 @@ exclude = [
28
28
  ]
29
29
 
30
30
  [workspace.dependencies]
31
- mt_sea = { path = "mt_sea", version = "0.5.2" }
32
- ratpub = { path = "ratpub", version = "0.5.2" }
33
- mt_bagread = { path = "mt_bagread", version = "0.5.2" }
34
- mt_net = { path = "mt_net", version = "0.5.2" }
35
- mt_wind = { path = "mt_wind", version = "0.5.2" }
36
- mt_mtc = { path = "mt_mtc", version = "0.5.2" }
31
+ mt_sea = { path = "mt_sea", version = "0.5.3" }
32
+ ratpub = { path = "ratpub", version = "0.5.3" }
33
+ mt_bagread = { path = "mt_bagread", version = "0.5.3" }
34
+ mt_net = { path = "mt_net", version = "0.5.3" }
35
+ mt_wind = { path = "mt_wind", version = "0.5.3" }
36
+ mt_mtc = { path = "mt_mtc", version = "0.5.3" }
37
37
 
38
38
  # Tools
39
39
  anyhow = "1.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minot-cli
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Classifier: Intended Audience :: Developers
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -164,6 +164,10 @@ use rkyv::rancor::Error as RkyvError;
164
164
  pub trait Sendable: Sized + Send + Sync + 'static
165
165
  where
166
166
  Self: for<'b> Serialize<HighSerializer<AlignedVec, ArenaHandle<'b>, RkyvError>>,
167
+ Self: Archive<
168
+ Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
169
+ + Deserialize<Self, Strategy<Pool, rkyv::rancor::Error>>,
170
+ >,
167
171
  {
168
172
  }
169
173
  // Blanket implementation for Sendable. Any type meeting the bounds is Sendable.
@@ -171,6 +175,10 @@ impl<T> Sendable for T
171
175
  where
172
176
  T: Sized + Send + Sync + 'static,
173
177
  T: for<'b> Serialize<HighSerializer<AlignedVec, ArenaHandle<'b>, RkyvError>>,
178
+ T: Archive<
179
+ Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
180
+ + Deserialize<T, Strategy<Pool, rkyv::rancor::Error>>,
181
+ >,
174
182
  {
175
183
  }
176
184
 
@@ -191,12 +199,7 @@ pub trait Cannon: Send + Sync + 'static {
191
199
  /// Catch the dumped data from the source.
192
200
  /// The returning Vec can contain previously missed entities of T from existing sync connections.
193
201
  /// The first item of T is the newest, followed by incremental older ones.
194
- async fn catch<T>(&self, id: u32) -> anyhow::Result<Vec<T>>
195
- where
196
- T: Send,
197
- T: Archive,
198
- T::Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
199
- + Deserialize<T, Strategy<Pool, rkyv::rancor::Error>>;
202
+ async fn catch<T: Sendable>(&self, id: u32) -> anyhow::Result<Vec<T>>;
200
203
 
201
204
  async fn catch_dyn(&self, id: u32) -> anyhow::Result<Vec<(String, VariableType, String)>>;
202
205
  }
@@ -1,9 +1,5 @@
1
1
  use anyhow::anyhow;
2
2
  use log::{debug, error};
3
- use rkyv::{
4
- Archive, Deserialize, api::high::HighValidator, bytecheck::CheckBytes, de::Pool,
5
- rancor::Strategy,
6
- };
7
3
  use std::{marker::PhantomData, sync::Arc};
8
4
 
9
5
  use mt_sea::{net::Packet, ship::NetworkShipImpl, *};
@@ -44,22 +40,11 @@ impl<T: Sendable> Publisher<T> {
44
40
  }
45
41
 
46
42
  #[derive(Debug)]
47
- pub struct Subscriber<T>
48
- where
49
- T: Archive,
50
- T::Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
51
- + Deserialize<T, Strategy<Pool, rkyv::rancor::Error>>,
52
- {
43
+ pub struct Subscriber<T: Sendable> {
53
44
  chan: tokio::sync::mpsc::Receiver<T>,
54
45
  }
55
46
 
56
- impl<T> Subscriber<T>
57
- where
58
- T: Send + Sync + 'static,
59
- T: Archive,
60
- T::Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
61
- + Deserialize<T, Strategy<Pool, rkyv::rancor::Error>>,
62
- {
47
+ impl<T: Sendable> Subscriber<T> {
63
48
  pub async fn next(&mut self) -> Option<T> {
64
49
  self.chan.recv().await
65
50
  }
@@ -140,17 +125,11 @@ impl Node {
140
125
  })
141
126
  }
142
127
 
143
- pub async fn create_subscriber<T>(
128
+ pub async fn create_subscriber<T: Sendable>(
144
129
  &self,
145
130
  topic: String,
146
131
  queue_size: usize,
147
- ) -> anyhow::Result<Subscriber<T>>
148
- where
149
- T: Send + Sync + 'static,
150
- T: Archive,
151
- T::Archived: for<'a> CheckBytes<HighValidator<'a, rkyv::rancor::Error>>
152
- + Deserialize<T, Strategy<Pool, rkyv::rancor::Error>>,
153
- {
132
+ ) -> anyhow::Result<Subscriber<T>> {
154
133
  let client = self.ship.client.lock().await;
155
134
  let coord_tx = {
156
135
  let client_send_lock = client.coordinator_send.read().unwrap();
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes