From a0f80fef963e790979d20b0e750b4b4029786501 Mon Sep 17 00:00:00 2001
From: Hartmut Seichter <hartmut@technotecture.com>
Date: Tue, 13 Dec 2022 18:13:59 +0100
Subject: [PATCH] downgraded dependency bytes and integrated the tracker into a
 system, next step will be to use a system that runs in parallel

---
 Cargo.lock     | 16 ++++++++--------
 Cargo.toml     |  2 +-
 src/main.rs    |  2 +-
 src/tracker.rs | 31 ++++++++++++++++++++-----------
 4 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 0ff0bbb..a72ceb7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2620,7 +2620,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
 dependencies = [
  "lock_api 0.3.4",
- "parking_lot_core 0.6.2",
+ "parking_lot_core 0.6.3",
  "rustc_version",
 ]
 
@@ -2636,9 +2636,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.6.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+checksum = "bda66b810a62be75176a80873726630147a5ca780cd33921e0b5709033e66b0a"
 dependencies = [
  "cfg-if 0.1.10",
  "cloudabi",
@@ -2701,7 +2701,7 @@ name = "pix_space"
 version = "0.1.0"
 dependencies = [
  "bevy",
- "bytes 1.3.0",
+ "bytes 0.4.12",
  "rand 0.8.5",
  "vrpn",
 ]
@@ -3094,18 +3094,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.149"
+version = "1.0.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055"
+checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.149"
+version = "1.0.150"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4"
+checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/Cargo.toml b/Cargo.toml
index 85f84a9..4815728 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@ bevy = { version = "0.9.1", features = ["dynamic"] }
 rand = "0.8.4" 
 # vrpn = "0.1.0" # not compatible with 2021
 vrpn = { git = "https://github.com/seichter/vrpn-rs" }
-bytes = "1.3.0"
+bytes = "0.4.12"
 
 [profile.release]
 opt-level = 3
\ No newline at end of file
diff --git a/src/main.rs b/src/main.rs
index 01e26e3..dcb0af0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -48,7 +48,7 @@ fn main() {
 
         .add_startup_system(offaxis_camera_setup)
         .add_startup_system(setup_tracker)
-        // .add_system(update_tracker)
+        .add_system(update_tracker)
         
         .add_plugin(CameraProjectionPlugin::<OffAxisProjection>::default())
         .add_system(simulate_viewer)
diff --git a/src/tracker.rs b/src/tracker.rs
index 1a64fc6..6354d63 100644
--- a/src/tracker.rs
+++ b/src/tracker.rs
@@ -75,15 +75,22 @@ impl Tracker {
     pub fn update(&mut self) -> vrpn::Result<()> {
 
 
+
         let mut buf = BytesMut::new();
 
         // Read the message header and padding
         buf.resize(24, 0);
         self.stream.read_exact(buf.as_mut())?;
 
+
         // Peek the size field, to compute the MessageSize.
+
+        // let buf = buf.freeze(); 
+
         let total_len = peek_u32(&buf.clone().freeze())?.unwrap();
+        // let total_len = peek_u32(&buf)?.unwrap();
         let size = MessageSize::from_length_field(total_len);
+        
 
         // Read the body of the message
         let mut body_buf = BytesMut::new();
@@ -96,23 +103,25 @@ impl Tracker {
 
         // Unbuffer the message.
         let unbuffered = SequencedGenericMessage::unbuffer_ref(&mut buf)?;
-        eprintln!("{:?}", Message::from(unbuffered));
-
+        
+        // eprintln!("{:?}", Message::from(unbuffered));
+        info!("{:?}", Message::from(unbuffered));
+        
         Ok(())
     }
 }
 
 pub fn setup_tracker(mut commands: Commands) {
-    // commands.spawn(Tracker::from_info("127.0.0.1", 3883));
+    commands.spawn(Tracker::from_info("127.0.0.1", 3883));
 }
 
-// pub fn update_tracker(mut query:Query<&mut Tracker>)
-// {
-//     for mut tracker in query.iter_mut() {
+pub fn update_tracker(mut query:Query<&mut Tracker>)
+{
+    for mut tracker in query.iter_mut() {
 
-//         // tracker.update();
+        tracker.update();
 
-//         // tracker.connection.poll_endpoints();
-//         // tracker
-//     }
-// }
+        // tracker.connection.poll_endpoints();
+        // tracker
+    }
+}