class UnifiedQueues::Single::Driver::PoorPriorityQueueDriver

Minimal priority queue driver. Uses the PoorPriorityQueue class from PriorityQueue gem. Priority is supported.

It isn't implement equivalent of the #clear method, so it falls backs to naive “popping” style clearing.

Also note, it's very minimalistic implementation, so both calls to {PoorPriorityQueue#length} and {PoorPriorityQueue#empty?} will throw an exception.

Public Instance Methods

empty?() click to toggle source

Indicates queue is empty. Note, it isn't implemented in this implementation.

@param [Boolean] true if it's, false otherwise

# File lib/unified-queues/single/driver/priority_queue.rb, line 134
def empty?
    not_implemented
end
length() click to toggle source

Returns length of the queue. Note, it isn't implemented in this implementation.

@return [Integer]

# File lib/unified-queues/single/driver/priority_queue.rb, line 145
def length
    not_implemented
end
pop(blocking = false) click to toggle source

Pops value out of the queue. Note, value with minimal priority will be popped out. Blocking isn't supported.

@param [Boolean|Integer] blocking true or timeout if it should block, false otherwise @return [Object] queued value

# File lib/unified-queues/single/driver/priority_queue.rb, line 123
def pop(blocking = false)
    @native.delete_min_return_key
end
push(value, key = value) click to toggle source

Pushes the value into the queue. Priority is supported.

@param [Object] value value for push @param [Object] key key for priority queues

# File lib/unified-queues/single/driver/priority_queue.rb, line 111
def push(value, key = value)
    @native.push(value, key)
end