Skip to content

Commit

Permalink
[Group] Add Ack check in group msg (project-chip#11472)
Browse files Browse the repository at this point in the history
* Add Ack check in group msg
  • Loading branch information
jepenven-silabs authored and PSONALl committed Dec 2, 2021
1 parent b6a7c0e commit c091b79
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions src/transport/SessionManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -488,17 +488,24 @@ void SessionManager::SecureGroupMessageDispatch(const PacketHeader & packetHeade
ExitNow(err = CHIP_NO_ERROR);
}

// Group Messages should never send an Ack
if (payloadHeader.NeedsAck())
{
ChipLogError(Inet, "Unexpected ACK requested for group message");
ExitNow(err = CHIP_ERROR_INCORRECT_STATE);
}

// TODO: Handle Group message counter here spec 4.7.3
// spec 4.5.1.2 for msg counter

if (isDuplicate == SessionManagerDelegate::DuplicateMessage::Yes)
{
ChipLogDetail(Inet,
"Received a duplicate message with MessageCounter:" ChipLogFormatMessageCounter
" on exchange " ChipLogFormatExchangeId,
packetHeader.GetMessageCounter(), ChipLogValueExchangeIdFromSentHeader(payloadHeader));
packetHeader.GetMessageCounter(), ChipLogValueExchangeIdFromReceivedHeader(payloadHeader));

// If it's a duplicate message, let's drop it right here to save CPU
// cycles on further message processing.
// If it's a duplicate message, let's drop it right here to save CPU cycles
ExitNow(err = CHIP_NO_ERROR);
}

Expand Down

0 comments on commit c091b79

Please sign in to comment.