SFMessage.withDefaultExpiry constructor

SFMessage.withDefaultExpiry({
  1. required String messageId,
  2. required PeerId recipientPeerId,
  3. required PeerId senderPeerId,
  4. required Uint8List payload,
  5. MessagePriority priority = MessagePriority.normal,
  6. int hopCount = 0,
  7. SFMessageFlags flags = SFMessageFlags.none,
  8. String? folderPath,
  9. bool persistent = false,
})

Create message with default 7-day expiry

Implementation

factory SFMessage.withDefaultExpiry({
  required String messageId,
  required PeerId recipientPeerId,
  required PeerId senderPeerId,
  required Uint8List payload,
  MessagePriority priority = MessagePriority.normal,
  int hopCount = 0,
  SFMessageFlags flags = SFMessageFlags.none,
  String? folderPath,
  bool persistent = false,
}) {
  final now = DateTime.now();
  final expiry = now.add(const Duration(days: 7));

  return SFMessage(
    messageId: messageId,
    recipientPeerId: recipientPeerId,
    senderPeerId: senderPeerId,
    payload: payload,
    priority: priority,
    expiryTimestamp: expiry.millisecondsSinceEpoch,
    hopCount: hopCount,
    flags: flags,
    createdTimestamp: now.millisecondsSinceEpoch,
    folderPath: folderPath,
    persistent: persistent,
  );
}