Space available and number of jobs required to enqueue data.
first = space on the current tree and number of jobs required
to be completed
second = If the current-tree space is less than <max_base_jobs>
then remaining number of slots on a new tree and the corresponding
job count.
The number of new jobs- base and merge that can be added to this tree.
Each node has a weight associated to it and the
new jobs received are distributed across the tree based on this number.
Each node on the tree is viewed as a job that needs to be completed. When a
job is completed, it creates a new βTodoβ job and marks the old job as βDoneβ