unsubscribe method
Unsubscribes from a destination
Implementation
Future<void> unsubscribe({
required String subscriptionId,
bool requestReceipt = false,
}) async {
_ensureConnected();
String? receiptId;
if (requestReceipt) {
receiptId = _generateReceiptId();
}
final unsubscribeFrame = StompFrameFactory.unsubscribe(
id: subscriptionId,
receipt: receiptId,
);
await _sendFrame(unsubscribeFrame);
// Wait for receipt if requested
if (receiptId != null) {
await _waitForReceipt(receiptId, _timeout);
}
// Remove subscription
_subscriptionManager.removeSubscription(subscriptionId);
_ackManager.clearSubscription(subscriptionId);
_logger.info('Unsubscribed from subscription $subscriptionId');
}