# File lib/qrack/client.rb, line 114 def returned_message(opts = {}) begin frame = next_frame(:timeout => opts[:timeout] || 0.1) rescue Qrack::ClientTimeout return {:header => nil, :payload => :no_return, :return_details => nil} end method = frame.payload header = next_payload # If maximum frame size is smaller than message payload body then message # will have a message header and several message bodies msg = '' while msg.length < header.size msg += next_payload end # Return the message and related info {:header => header, :payload => msg, :return_details => method.arguments} end