-
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
Add CRMP test for retransmission of session establishment messages #7234
Add CRMP test for retransmission of session establishment messages #7234
Conversation
src/protocols/secure_channel/SessionEstablishmentExchangeDispatch.cpp
Outdated
Show resolved
Hide resolved
@@ -36,13 +36,16 @@ class SessionEstablishmentExchangeDispatch : public Messaging::ExchangeMessageDi | |||
|
|||
virtual ~SessionEstablishmentExchangeDispatch() {} | |||
|
|||
CHIP_ERROR Init(TransportMgrBase * transportMgr) | |||
CHIP_ERROR Init(Messaging::ReliableMessageMgr * reliableMessageMgr, TransportMgrBase * transportMgr) |
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.
I guess this is OK for now, but as a followup: Why do we need to have a ReliableMessageMgr
here at all? I just checked, and all uses of ExchangeMessageDispatch::mReliableMessageMgr
seem to be inside ExchangeMessageDispatch::SendMessage
and in there it could get it from the ReliableMessageContext
, no? We'd need to make the getter public, but I think that should be ok....
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.
Yes, once we change the getter to public, we can remove it from this API.
670ad73
to
2318b74
Compare
rebased |
Size increase report for "esp32-example-build" from e08afe7
Full report output
|
Size increase report for "gn_qpg6100-example-build" from e08afe7
Full report output
|
76c74a2
to
e751b45
Compare
rebased to pick up Darwin test failures fix. |
Size increase report for "nrfconnect-example-build" from 872051e
Full report output
|
…roject-chip#7234) * Add CRMP test for retransmission of session establishment messages * Fix test * Add packet loss test to TestPASESession * add some comments * reduce stack usage due to nrfconnect platform limits * clear transport state before running test * fixes for testing on nrfconnect
Problem
Need a unit test to ensure session establishment messages (that are not encrypted) are able to use CRMP functionality.
Change overview
Added a unit test and fix the problem with the retransmission of session establishment messages.
Testing
The new unit test
CheckResendSessionEstablishmentMessageWithPeerExchange
confirms the failure and fixes.The existing
TestReliableMessageProtocol
test suite ensures the rest of functionality is intact.Also, tested the code using Python controller app, and iOS CHIP Tool app.