This commit is contained in:
Hartmut Seichter 2022-12-12 03:12:56 +01:00
parent df1f5e99ec
commit 9114729c96

View file

@ -18,6 +18,8 @@ use vrpn::{
#[derive(Component)]
pub struct Tracker {
endpoint: EndpointSyncTcp,
dispatcher: TypeDispatcher
// stream: ConnectionIpStream,
// connection: Arc<ConnectionIp>
}
@ -34,7 +36,7 @@ impl TypedHandler for TrackerHandler {
}
impl Tracker {
pub fn from_info(server_ip: &str, port: u16) -> Result<()> {
pub fn from_info(server_ip: &str, port: u16) -> Self {
// let server = format!("tcp://{}:{}", server_ip, port)
// .parse::<ServerInfo>()
// .unwrap();
@ -50,12 +52,12 @@ impl Tracker {
let addr: SocketAddr = "127.0.0.1:3883".parse().unwrap();
let mut stream = TcpStream::connect(addr)?;
stream.set_nodelay(true)?;
let mut stream = TcpStream::connect(addr).unwrap();
stream.set_nodelay(true).unwrap();
// We first write our cookie, then read and check the server's cookie, before the loop.
write_cookie(&mut stream, CookieData::from(MAGIC_DATA))?;
let cookie_buf = read_cookie(&mut stream)?;
write_cookie(&mut stream, CookieData::from(MAGIC_DATA)).unwrap();
let cookie_buf = read_cookie(&mut stream).unwrap();
let mut cookie_buf = Bytes::from(&cookie_buf[..]);
// CookieData::unbuffer_ref(&mut cookie_buf)
@ -63,14 +65,18 @@ impl Tracker {
let mut endpoint = EndpointSyncTcp::new(stream);
let mut dispatcher = TypeDispatcher::new();
let _ = dispatcher.add_typed_handler(Box::new(TrackerHandler {}), None)?;
let _ = dispatcher.add_typed_handler(Box::new(TrackerHandler {}), None).unwrap();
Tracker {
endpoint,
dispatcher
}
// Ok(Self {
// // stream: ConnectionIpStream::new(Arc::clone(&connection)),
// // connection
// })
}
fn update(&self) {
self.endpoint.poll_endpoint(&mut self.dispatcher).unwrap();
}
}
@ -84,6 +90,8 @@ pub fn update_tracker(mut query:Query<&mut Tracker>)
{
for mut tracker in query.iter_mut() {
// tracker.update();
// tracker.connection.poll_endpoints();
// tracker
}