Class: OMQ::Routing::SignalingQueue
- Inherits:
-
Object
- Object
- OMQ::Routing::SignalingQueue
- Defined in:
- lib/omq/routing/fair_queue.rb
Overview
Wraps a per-connection bounded queue so that each #enqueue also signals the FairQueue to wake a blocked #dequeue.
Instance Method Summary collapse
- #dequeue(timeout: nil) ⇒ Array<String>?
- #empty? ⇒ Boolean
-
#enqueue(msg) ⇒ void
Enqueues a message and signals the fair queue.
-
#initialize(inner, fair_queue) ⇒ SignalingQueue
constructor
A new instance of SignalingQueue.
- #push(item) ⇒ void
Constructor Details
#initialize(inner, fair_queue) ⇒ SignalingQueue
Returns a new instance of SignalingQueue.
156 157 158 159 |
# File 'lib/omq/routing/fair_queue.rb', line 156 def initialize(inner, fair_queue) @inner = inner @fair = fair_queue end |
Instance Method Details
#dequeue(timeout: nil) ⇒ Array<String>?
176 177 178 |
# File 'lib/omq/routing/fair_queue.rb', line 176 def dequeue(timeout: nil) @inner.dequeue(timeout: timeout) end |
#empty? ⇒ Boolean
183 184 185 |
# File 'lib/omq/routing/fair_queue.rb', line 183 def empty? @inner.empty? end |
#enqueue(msg) ⇒ void
This method returns an undefined value.
Enqueues a message and signals the fair queue.
167 168 169 170 |
# File 'lib/omq/routing/fair_queue.rb', line 167 def enqueue(msg) @inner.enqueue(msg) @fair.signal end |
#push(item) ⇒ void
This method returns an undefined value.
191 192 193 |
# File 'lib/omq/routing/fair_queue.rb', line 191 def push(item) @inner.push(item) end |