beginTransaction method
Begins a transaction
Implementation
Future<StompTransaction> beginTransaction({
String? transactionId,
bool requestReceipt = false,
}) async {
_ensureConnected();
final txId = transactionId ?? _generateTransactionId();
String? receiptId;
if (requestReceipt) {
receiptId = _generateReceiptId();
}
final beginFrame = StompTransactionFrameFactory.begin(
transactionId: txId,
receipt: receiptId,
);
await _sendFrame(beginFrame);
// Wait for receipt if requested
if (receiptId != null) {
await _waitForReceipt(receiptId, _timeout);
}
// Create transaction
final transaction = _transactionManager.beginTransaction(txId);
_logger.info('Began transaction $txId');
return transaction;
}