Class: Asynchronic::QueueEngine::InMemory::Queue

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/asynchronic/queue_engine/in_memory.rb

Instance Method Summary collapse

Constructor Details

#initializeQueue

Returns a new instance of Queue.



49
50
51
52
# File 'lib/asynchronic/queue_engine/in_memory.rb', line 49

def initialize
  @queue = []
  @mutex = Mutex.new
end

Instance Method Details

#popObject



54
55
56
# File 'lib/asynchronic/queue_engine/in_memory.rb', line 54

def pop
  mutex.synchronize { queue.shift }
end

#push(message) ⇒ Object



58
59
60
# File 'lib/asynchronic/queue_engine/in_memory.rb', line 58

def push(message)
  mutex.synchronize { queue.push message }
end