abstract class Quartz::PriorityQueue(T)

Overview

A PriorityQueue is the base class to implement a planning strategy for all future events to be evaluated. Events should be dequeued in a strict order of precedence, according to their associated priority.

The priority is represented by the Duration data type, which represent a planned phase, an offset from the beginning of the current epoch relative to the current simulated time.

It is internally used by the pending event set EventSet.

Direct Known Subclasses

Defined in:

quartz/event_set.cr

Constructors

Instance Method Summary

Instance methods inherited from class Reference

==(other : Quartz::Any) ==

Instance methods inherited from class Object

===(other : Quartz::Any) ===

Constructor Detail

def self.new(priority_queue : Symbol, &comparator : Duration, Duration, Bool -> Int32) : self #

[View source]
def self.new(&) #

[View source]

Instance Method Detail

abstract def clear #

[View source]
abstract def delete(priority : Duration, value : T) : T? #

[View source]
abstract def empty? : Bool #

[View source]
abstract def next_priority : Duration #

[View source]
abstract def peek : T #

[View source]
abstract def peek? : T? #

[View source]
abstract def pop : T #

[View source]
def pop_imminents(&) #

[View source]
abstract def push(priority : Duration, value : T) #

[View source]
abstract def size : Int #

[View source]