lib/client/utils.rb in stomp-1.2.10 vs lib/client/utils.rb in stomp-1.2.11

- old
+ new

@@ -155,18 +155,21 @@ @replay_messages_by_txn = {} @listener_thread = Thread.start do while true message = @connection.receive - if message # AMQ specific?, nil message on multiple reconnects - if message.command == Stomp::CMD_MESSAGE - if listener = find_listener(message) - listener.call(message) - end - elsif message.command == Stomp::CMD_RECEIPT - if listener = @receipt_listeners[message.headers['receipt-id']] - listener.call(message) - end + # AMQ specific behavior + if message.nil? && (!@reliable) + raise Stomp::Error::NilMessageError + end + # OK, we have some real data + if message.command == Stomp::CMD_MESSAGE + if listener = find_listener(message) + listener.call(message) + end + elsif message.command == Stomp::CMD_RECEIPT + if listener = @receipt_listeners[message.headers['receipt-id']] + listener.call(message) end end end # while true end end # method start_listeners