abortTransaction method

Future<void> abortTransaction({
  1. required String transactionId,
  2. bool requestReceipt = false,
})

Aborts a transaction

Implementation

Future<void> abortTransaction({
  required String transactionId,
  bool requestReceipt = false,
}) async {
  _ensureConnected();

  String? receiptId;
  if (requestReceipt) {
    receiptId = _generateReceiptId();
  }

  final abortFrame = StompTransactionFrameFactory.abort(
    transactionId: transactionId,
    receipt: receiptId,
  );

  await _sendFrame(abortFrame);

  // Wait for receipt if requested
  if (receiptId != null) {
    await _waitForReceipt(receiptId, _timeout);
  }

  // Abort transaction
  _transactionManager.abortTransaction(transactionId);
  _logger.info('Aborted transaction $transactionId');
}