def ack(message_id, headers = {})
raise Stomp::Error::NoCurrentConnection if @closed_check && closed?
raise Stomp::Error::MessageIDRequiredError if message_id.nil? || message_id == ""
headers = headers.symbolize_keys
case @protocol
when Stomp::SPL_12
headers[:id] = message_id
when Stomp::SPL_11
headers['message-id''message-id'] = message_id
raise Stomp::Error::SubscriptionRequiredError unless headers[:subscription]
else
headers['message-id''message-id'] = message_id
end
_headerCheck(headers)
if @logger && @logger.respond_to?(:on_ack)
@logger.on_ack(log_params, headers)
end
transmit(Stomp::CMD_ACK, headers)
end