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.
- {minot_cli-0.5.2 → minot_cli-0.5.3}/Cargo.lock +8 -8
- {minot_cli-0.5.2 → minot_cli-0.5.3}/Cargo.toml +7 -7
- {minot_cli-0.5.2 → minot_cli-0.5.3}/PKG-INFO +1 -1
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/lib.rs +9 -6
- {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/src/lib.rs +4 -25
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/build.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/app.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/coord.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/event.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/handler.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/minot.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/runner.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/tui.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/minot/src/ui.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/src/lib.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/src/qos.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/test/metadata-v5.yml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_bagread/test/metadata-v9.yml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_mtc/src/lib.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_net/src/lib.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/client.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/coordinator.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/net.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_sea/src/ship.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/lib.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ratpub.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros1.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros2.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/mt_wind/src/ros2_r2r.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/pyproject.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/Cargo.toml +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/README.md +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/examples/pub.rs +0 -0
- {minot_cli-0.5.2 → minot_cli-0.5.3}/ratpub/examples/smol.rs +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
32
|
-
ratpub = { path = "ratpub", version = "0.5.
|
|
33
|
-
mt_bagread = { path = "mt_bagread", version = "0.5.
|
|
34
|
-
mt_net = { path = "mt_net", version = "0.5.
|
|
35
|
-
mt_wind = { path = "mt_wind", version = "0.5.
|
|
36
|
-
mt_mtc = { path = "mt_mtc", version = "0.5.
|
|
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"
|
|
@@ -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
|
|
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
|