Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Android to Android dynamic MTU negotiation with 250ms timeout #566

Closed
krishnakumar4a4 opened this issue Feb 16, 2023 · 3 comments
Labels
beta_must_fix BLE BLE Transefer of VCs BLE-Sharing Related to BLE sharing mechanism enhancement New feature or request triage This issue is pending confirmation and planning and should not be worked on yet
Milestone

Comments

@krishnakumar4a4
Copy link
Contributor

What to do

  • Attempt request MTU from Android Wallet with 512
  • If we don't receive callback in 250ms, attempt same with 185 and 100.
  • If we don't receive callback from 100 as well, then we should show error to user with proper disconnection.
@krishnakumar4a4 krishnakumar4a4 added enhancement New feature or request triage This issue is pending confirmation and planning and should not be worked on yet labels Feb 16, 2023
@Sujithbn Sujithbn added BLE BLE Transefer of VCs beta_must_fix labels Feb 16, 2023
@ravikp ravikp added the BLE-Sharing Related to BLE sharing mechanism label Feb 16, 2023
@Sujithbn Sujithbn added this to the 20th Feb 23 milestone Feb 17, 2023
Alka1703 added a commit to tw-mosip/inji-wallet that referenced this issue Feb 21, 2023
@Sujithbn Sujithbn modified the milestones: 20th Feb 23, 24th Feb 23 Feb 22, 2023
@Alka1703
Copy link
Contributor

Alka1703 commented Feb 24, 2023

The following PRs implement dynamic mtu negotiation for android to android communication with a timeout of 250 ms for each negotiation. We will see an error pop up if it fails to negotiate even after 3 attempts.
PR for mosip/tuvali: mosip/tuvali#26
PR for mosip/inji:#584

The PRs have been merged in 24-02-2023 Release and the latest commit id on mosip/inji/develop is cb47493

@Alka1703
Copy link
Contributor

The following PRs implements incrementing the delay time between android to android mtu negotiation to 500 ms.
PR for mosip/tuvali: mosip/tuvali#28
PR for mosip/inji: #595, #597

The PRs have been merged in 28-02-2023 Release and the latest commit id on mosip/inji/develop is 7cdee82

@krishnakumar4a4
Copy link
Contributor Author

More context about bumping up negotiation timeout to 500ms for each MTU size

We have observed in most of the scenarios, MTU negotiation is happening quite quickly. Whereas in some device combinations, the MTUChanged callback is returning consistently after 250ms. Hence, having 250ms will only exclude those devices from leveraging the dynamic MTU negotiation implementation as all three MTU negotiation attempts with various sizes will fail. So the call was made to bump up the wait time to 500ms.

Bumping up wait time does't mean the transfer will be waiting for 500ms even if the callback is received sooner than 500ms. The wait time will be a function of min(callbackWaitTime, 500ms). Hence, having the value bumped to 500ms should not affect the device combinations that were able to negotiate quickly.

@github-project-automation github-project-automation bot moved this from Closed to Merged in MOSIP Inji issues tracking Mar 1, 2023
@Sujithbn Sujithbn moved this from Merged to Closed in MOSIP Inji issues tracking Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta_must_fix BLE BLE Transefer of VCs BLE-Sharing Related to BLE sharing mechanism enhancement New feature or request triage This issue is pending confirmation and planning and should not be worked on yet
Projects
Status: Closed
Development

No branches or pull requests

4 participants