def unsubscribe(dest, headers = {}, subId = nil)
raise Stomp::Error::NoCurrentConnection if @closed_check && closed?
headers = headers.symbolize_keys
headers[:destination] = dest
if @protocol >= Stomp::SPL_11
raise Stomp::Error::SubscriptionRequiredError if (headers[:id].nil? && subId.nil?)
headers[:id] = subId unless headers[:id]
end
_headerCheck(headers)
if @logger && @logger.respond_to?(:on_unsubscribe)
@logger.on_unsubscribe(log_params, headers)
end
transmit(Stomp::CMD_UNSUBSCRIBE, headers)
if @reliable
subId = dest if subId.nil?
@subscriptions.delete(subId)
end
end