-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[shell] make shell ping command asynchronous #7544
Conversation
ba84e8a
to
c08b968
Compare
|
||
return (now >= gPingArguments.GetLastEchoTime() + gPingArguments.GetEchoInterval()); | ||
return Transport::PeerAddress::UDP(gDestAddr, gPingArguments.GetEchoPort(), INET_NULL_INTERFACEID); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we at some point add interface id arguments?
If we start to use link-local addreses, the interface will matter.
likely not for this PR.
c08b968
to
3e0a926
Compare
3e0a926
to
8215b58
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The conversation has been closed, and I am not able to reopen it, suppose the first SendEchoRequest succeed, and the second SendEchoRequest failed with error within EchoTimerHandler. How Shutdown() is triggered in this case?
Each |
/rebase |
8215b58
to
2c7f162
Compare
Size increase report for "nrfconnect-example-build" from 1397b4b
Full report output
|
Problem
Fixes #7519 shell app ping cannot receive
Change overview
This is caused by the sleep in the ping client blocking the stack's event loop.
This PR moves the timeout handling logic to the timer handlers to resolve the issue.
Testing
Manually tested with
chip-shell
andchip-echo-responder