Interleave sending and receiving of packets to reduce rx latency (#515)
* Interleave sending and receiving of packets to reduce latency in receiving of packets * Add patch to CtapUsbSyscallDriver * Minor tweaks from review * Log when overwritting an existing reply * Only log when 'debug_ctap' is enabled * Make ctap mod public, as per review * Rename send_or_recv to send_and_maybe_recv * fix typo * Don't process packets on other transport while doing keepalive * Don't process packets on other transport while doing keepalive * More accurately determine if reply has finished * Move comment closer to appropriate location * Add tests for canceling keepalive packets * Added a TODO for kaczmarczyck re ctap module being public * remove the unnecessary sleep()s * undo messed up commit * address pylint warnings * Fix merge mess up, and patch fido2 Usage Page * Fix up completely borked merge * Remove patch to FIDO usage, after #523. * remove obsolete aspects to diff Co-authored-by: kaczmarczyck <43844792+kaczmarczyck@users.noreply.github.com>
This commit is contained in:
8
src/env/tock/mod.rs
vendored
8
src/env/tock/mod.rs
vendored
@@ -42,7 +42,7 @@ pub struct TockHidConnection {
|
||||
}
|
||||
|
||||
impl HidConnection for TockHidConnection {
|
||||
fn send_or_recv_with_timeout(
|
||||
fn send_and_maybe_recv(
|
||||
&mut self,
|
||||
buf: &mut [u8; 64],
|
||||
timeout: Milliseconds<ClockInt>,
|
||||
@@ -54,10 +54,8 @@ impl HidConnection for TockHidConnection {
|
||||
) {
|
||||
Ok(usb_ctap_hid::SendOrRecvStatus::Timeout) => Ok(SendOrRecvStatus::Timeout),
|
||||
Ok(usb_ctap_hid::SendOrRecvStatus::Sent) => Ok(SendOrRecvStatus::Sent),
|
||||
Ok(usb_ctap_hid::SendOrRecvStatus::Received(recv_endpoint))
|
||||
if self.endpoint == recv_endpoint =>
|
||||
{
|
||||
Ok(SendOrRecvStatus::Received)
|
||||
Ok(usb_ctap_hid::SendOrRecvStatus::Received(recv_endpoint)) => {
|
||||
Ok(SendOrRecvStatus::Received(recv_endpoint))
|
||||
}
|
||||
_ => Err(SendOrRecvError),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user