expunge static method

Future<ExpungeAck> expunge(
  1. P2PStream stream,
  2. PeerId peerId, {
  3. String? folderPath,
})

Expunge messages (client-side) - IMAP EXPUNGE

Implementation

static Future<ExpungeAck> expunge(
  P2PStream stream,
  PeerId peerId, {
  String? folderPath,
}) async {
  try {
    final request = ExpungeRequest(
      peerId: peerId,
      folderPath: folderPath,
    );

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

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