# File lib/stomp_server/queue/memory_queue.rb, line 55 def assign_id(frame, dest) frame.headers['message-id'] = @stompid[@frame_index] end
# File lib/stomp_server/queue/memory_queue.rb, line 25 def dequeue(dest) if frame = @messages[dest].shift @stats[dest][:dequeued] += 1 return frame else return false end end
# File lib/stomp_server/queue/memory_queue.rb, line 34 def enqueue(dest,frame) @frame_index += 1 if @stats[dest] @stats[dest][:enqueued] += 1 else @stats[dest] = Hash.new @stats[dest][:enqueued] = 1 @stats[dest][:dequeued] = 0 end assign_id(frame, dest) requeue(dest, frame) end
# File lib/stomp_server/queue/memory_queue.rb, line 51 def message_for?(dest) !@messages[dest].empty? end
# File lib/stomp_server/queue/memory_queue.rb, line 17 def monitor stats = Hash.new @messages.keys.each do |dest| stats[dest] = {'size' => @messages[dest].size, 'enqueued' => @stats[dest][:enqueued], 'dequeued' => @stats[dest][:dequeued]} end stats end
# File lib/stomp_server/queue/memory_queue.rb, line 47 def requeue(dest,frame) @messages[dest] += [frame] end
# File lib/stomp_server/queue/memory_queue.rb, line 14 def stop end
# File lib/stomp_server/queue/memory_queue.rb, line 6 def initialize @frame_index =0 @stompid = StompServer::StompId.new @stats = Hash.new @messages = Hash.new { Array.new } puts "MemoryQueue initialized" end