WiP
This commit is contained in:
parent
df1f5e99ec
commit
9114729c96
1 changed files with 18 additions and 10 deletions
|
@ -18,6 +18,8 @@ use vrpn::{
|
||||||
|
|
||||||
#[derive(Component)]
|
#[derive(Component)]
|
||||||
pub struct Tracker {
|
pub struct Tracker {
|
||||||
|
endpoint: EndpointSyncTcp,
|
||||||
|
dispatcher: TypeDispatcher
|
||||||
// stream: ConnectionIpStream,
|
// stream: ConnectionIpStream,
|
||||||
// connection: Arc<ConnectionIp>
|
// connection: Arc<ConnectionIp>
|
||||||
}
|
}
|
||||||
|
@ -34,7 +36,7 @@ impl TypedHandler for TrackerHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Tracker {
|
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)
|
// let server = format!("tcp://{}:{}", server_ip, port)
|
||||||
// .parse::<ServerInfo>()
|
// .parse::<ServerInfo>()
|
||||||
// .unwrap();
|
// .unwrap();
|
||||||
|
@ -50,12 +52,12 @@ impl Tracker {
|
||||||
|
|
||||||
|
|
||||||
let addr: SocketAddr = "127.0.0.1:3883".parse().unwrap();
|
let addr: SocketAddr = "127.0.0.1:3883".parse().unwrap();
|
||||||
let mut stream = TcpStream::connect(addr)?;
|
let mut stream = TcpStream::connect(addr).unwrap();
|
||||||
stream.set_nodelay(true)?;
|
stream.set_nodelay(true).unwrap();
|
||||||
|
|
||||||
// We first write our cookie, then read and check the server's cookie, before the loop.
|
// We first write our cookie, then read and check the server's cookie, before the loop.
|
||||||
write_cookie(&mut stream, CookieData::from(MAGIC_DATA))?;
|
write_cookie(&mut stream, CookieData::from(MAGIC_DATA)).unwrap();
|
||||||
let cookie_buf = read_cookie(&mut stream)?;
|
let cookie_buf = read_cookie(&mut stream).unwrap();
|
||||||
let mut cookie_buf = Bytes::from(&cookie_buf[..]);
|
let mut cookie_buf = Bytes::from(&cookie_buf[..]);
|
||||||
|
|
||||||
// CookieData::unbuffer_ref(&mut cookie_buf)
|
// CookieData::unbuffer_ref(&mut cookie_buf)
|
||||||
|
@ -63,14 +65,18 @@ impl Tracker {
|
||||||
|
|
||||||
let mut endpoint = EndpointSyncTcp::new(stream);
|
let mut endpoint = EndpointSyncTcp::new(stream);
|
||||||
let mut dispatcher = TypeDispatcher::new();
|
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() {
|
for mut tracker in query.iter_mut() {
|
||||||
|
|
||||||
|
// tracker.update();
|
||||||
|
|
||||||
// tracker.connection.poll_endpoints();
|
// tracker.connection.poll_endpoints();
|
||||||
// tracker
|
// tracker
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue