updateFlags static method

Future<UpdateFlagsAck> updateFlags(
  1. P2PStream stream,
  2. String messageId, {
  3. int addFlags = 0,
  4. int removeFlags = 0,
})

Update message flags (client-side) - IMAP STORE

Implementation

static Future<UpdateFlagsAck> updateFlags(
  P2PStream stream,
  String messageId, {
  int addFlags = 0,
  int removeFlags = 0,
}) async {
  try {
    final request = UpdateFlagsRequest(
      messageId: messageId,
      addFlags: addFlags,
      removeFlags: removeFlags,
    );

    // Encode and send request with length prefix
    final requestBytes = AccessFrame.encodeUpdateFlags(request);
    await _writeFrameStatic(stream, requestBytes);

    // Read acknowledgment
    final ackBytes = await _readFrameStatic(stream);
    return AccessFrame.decodeUpdateFlagsAck(ackBytes);
  } catch (e, stackTrace) {
    _logger.severe('Error updating message flags: $e', e, stackTrace);
    rethrow;
  }
}