start moving over to crossbeam

This commit is contained in:
Hartmut Seichter 2023-01-31 10:52:09 +01:00
parent f3f995815b
commit fb45ec2233
3 changed files with 67 additions and 11 deletions

64
Cargo.lock generated
View file

@ -1238,6 +1238,20 @@ dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "crossbeam"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-channel",
"crossbeam-deque 0.8.2",
"crossbeam-epoch 0.9.13",
"crossbeam-queue 0.3.8",
"crossbeam-utils 0.8.14",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.6"
@ -1254,11 +1268,22 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20ff29ded3204c5106278a81a38f4b482636ed4fa1e6cfbeef193291beb29ed"
dependencies = [
"crossbeam-epoch",
"crossbeam-epoch 0.8.2",
"crossbeam-utils 0.7.2",
"maybe-uninit",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch 0.9.13",
"crossbeam-utils 0.8.14",
]
[[package]]
name = "crossbeam-epoch"
version = "0.8.2"
@ -1274,6 +1299,19 @@ dependencies = [
"scopeguard",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
dependencies = [
"autocfg 1.1.0",
"cfg-if 1.0.0",
"crossbeam-utils 0.8.14",
"memoffset 0.7.1",
"scopeguard",
]
[[package]]
name = "crossbeam-queue"
version = "0.2.3"
@ -1285,6 +1323,16 @@ dependencies = [
"maybe-uninit",
]
[[package]]
name = "crossbeam-queue"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils 0.8.14",
]
[[package]]
name = "crossbeam-utils"
version = "0.7.2"
@ -2203,6 +2251,15 @@ dependencies = [
"autocfg 1.1.0",
]
[[package]]
name = "memoffset"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
dependencies = [
"autocfg 1.1.0",
]
[[package]]
name = "metal"
version = "0.24.0"
@ -2702,6 +2759,7 @@ version = "0.1.0"
dependencies = [
"bevy",
"bytes 0.4.12",
"crossbeam",
"rand 0.8.5",
"vrpn",
]
@ -3503,8 +3561,8 @@ version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89"
dependencies = [
"crossbeam-deque",
"crossbeam-queue",
"crossbeam-deque 0.7.4",
"crossbeam-queue 0.2.3",
"crossbeam-utils 0.7.2",
"futures",
"lazy_static",

View file

@ -14,6 +14,7 @@ rand = "0.8.4"
# vrpn = "0.1.0" # not compatible with 2021
vrpn = { git = "https://github.com/seichter/vrpn-rs" }
bytes = "0.4.12"
crossbeam = "0.8.2"
[profile.release]
opt-level = 3

View file

@ -3,6 +3,7 @@ use bevy::prelude::*;
extern crate bytes;
extern crate vrpn;
extern crate crossbeam;
// use futures_lite::future;
use rand::Rng;
@ -28,22 +29,18 @@ use vrpn::{
TypedBodylessHandler, Unbuffer,
};
#[derive(Resource, Debug, Sync)]
pub struct Tracker { rx : Receiver<PoseReport> }
#[derive(Resource, Debug)]
pub struct Tracker;
impl FromWorld for Tracker {
fn from_world(world: &mut World) -> Self {
info!("Test here!");
let (sender, receiver): (_, Receiver<PoseReport>) = channel();
let sender_th = sender.clone();
std::thread::spawn(move || {
// 212.201.64.122 | 127.0.0.1
let addr: SocketAddr = "127.0.0.1:3883".parse().unwrap();
let addr: SocketAddr = "212.201.64.122:3883".parse().unwrap();
let mut stream = TcpStream::connect(addr).unwrap();
stream.set_nodelay(true).unwrap();
@ -102,6 +99,6 @@ impl FromWorld for Tracker {
}
});
Self { rx = receiver.clone() }
Self { }
}
}