Describe the bug
The current CFE_SB_GetLastSenderId() API is broken, as indicated in #745 and #744, but also as discussed at today's CCB, the intent and use-case is really "who sent this message" not "who sent the last message" on a pipe. In fact, SBN is currently using this API to prevent SBN message loops, and this API doesn't work correctly for that purpose.
Expected behavior
The suggestion is to remove the GetLastSenderId() API entirely, and add a new receive method like: int32 CFE_SB_RcvMsgWithSenderId(CFE_SB_MsgPtr_t *BufPtr, uint32 *SenderAppIdPtr, CFE_SB_PipeId_t PipeId, int32 TimeOut); that has an additional out parameter which will contain the AppId of the app that sent the message returned in the BufPtr.
Reporter Info
[email protected]