Module: Plushie::BoundedQueue

Defined in:
lib/plushie/bounded_queue.rb

Overview

Small wrapper around SizedQueue for runtime mailboxes.

Constant Summary collapse

EVENT_CAPACITY =
1024
CONNECTION_CAPACITY =
1024
SESSION_CAPACITY =
256

Class Method Summary collapse

Class Method Details

.new(capacity = EVENT_CAPACITY) ⇒ Object



12
13
14
# File 'lib/plushie/bounded_queue.rb', line 12

def new(capacity = EVENT_CAPACITY)
  SizedQueue.new(capacity)
end

.push(queue, item, timeout: nil) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/plushie/bounded_queue.rb', line 16

def push(queue, item, timeout: nil)
  if timeout
    queue.push(item, false, timeout: timeout)
  else
    queue.push(item)
  end
rescue ClosedQueueError
  nil
end

.try_push(queue, item) ⇒ Object



26
27
28
29
30
# File 'lib/plushie/bounded_queue.rb', line 26

def try_push(queue, item)
  queue.push(item, true)
rescue ClosedQueueError, ThreadError
  nil
end