withIncrementedHopCount method
Create a copy with incremented hop count (for forwarding)
Implementation
SFMessage withIncrementedHopCount() {
if (hopCount >= maxHopCount) {
throw StateError('Cannot forward message: hop count limit reached');
}
return SFMessage(
messageId: messageId,
recipientPeerId: recipientPeerId,
senderPeerId: senderPeerId,
payload: payload,
priority: priority,
expiryTimestamp: expiryTimestamp,
hopCount: hopCount + 1,
flags: flags.withFlag(SFMessageFlags.forwarded),
createdTimestamp: createdTimestamp,
folderPath: folderPath,
sequenceNumber: sequenceNumber,
messageFlags: messageFlags,
persistent: persistent,
);
}