A single node in a priority graph that is associated with a Transaction.
When a node reaches the main queue, the top-level prioritization function can use a reference
to this node to calculate a modified priority for the node, which is only used for
prioritization for the main queue.
A directed acyclic graph where edges are only present between nodes if
that node is the next-highest priority node for a particular resource.
Resources can be either read or write locked with write locks being
exclusive.
Transactions are inserted into the graph and then popped in time-priority order.
Between conflicting transactions, the first to be inserted will always have higher priority.