-
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
Use default application dispatch if an application hasn't provided one #6053
Use default application dispatch if an application hasn't provided one #6053
Conversation
From the crash log, it seems the app crashed at this check Send echo request message to Node: 12344321 The reference count of ExchangeContext is 0 as the CRMP try to send the ack to EchoResponse message. The protocol should not call Release directly if CRMP is enabled, instead it should call Close() to give up the ownership of current exchange and the ExchangeMgr will free the exchange after it finish the pending ack. |
The application code was not really changed in this PR. I think the crash was a side effect of not being able to send the messages. |
Yes, Sending message without an ExchangeDispatch definitely is a problem |
Size increase report for "nrfconnect-example-build" from 3510f14
Full report output
|
Size increase report for "esp32-example-build" from 3510f14
Full report output
|
Problem
Please see issue #6032
Summary of Changes
The exchange context now requires the application to select a message dispatch object that's used for sending the messages. This is done to differentiate between session establishment messages (which are unencrypted) and the application messages (which are encrypted).
Some of the test apps are not registering the delegate. This change adds a default dispatch (for encrypted traffic).
Fixes #6032