client: moved handshake earlier to avoid input traps
This commit is contained in:
parent
35196ee8f3
commit
76770b9c41
@ -45,8 +45,7 @@ impl LesavkaClientApp {
|
||||
let (kbd_tx, _) = broadcast::channel(1024);
|
||||
let (mou_tx, _) = broadcast::channel(4096);
|
||||
|
||||
let mut agg = InputAggregator::new(dev_mode, kbd_tx.clone(), mou_tx.clone());
|
||||
agg.init()?; // grab devices immediately
|
||||
let agg = InputAggregator::new(dev_mode, kbd_tx.clone(), mou_tx.clone());
|
||||
|
||||
Ok(Self { aggregator: Some(agg), server_addr, dev_mode, kbd_tx, mou_tx })
|
||||
}
|
||||
@ -69,8 +68,9 @@ impl LesavkaClientApp {
|
||||
.tcp_nodelay(true)
|
||||
.connect_lazy();
|
||||
|
||||
/*────────── input aggregator task ─────────────*/
|
||||
let aggregator = self.aggregator.take().expect("InputAggregator present");
|
||||
/*────────── input aggregator task (grab after handshake) ─────────────*/
|
||||
let mut aggregator = self.aggregator.take().expect("InputAggregator present");
|
||||
aggregator.init()?; // grab devices now that handshake succeeded
|
||||
let agg_task = tokio::spawn(async move {
|
||||
let mut a = aggregator;
|
||||
a.run().await
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user