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.



42
43
44
45
# File 'lib/asynchronic/queue_engine/in_memory.rb', line 42

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

Instance Method Details

#popObject



47
48
49
# File 'lib/asynchronic/queue_engine/in_memory.rb', line 47

def pop
  @mutex.synchronize { @queue.shift }
end

#push(message) ⇒ Object



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

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