class Async::Children

A list of children tasks.

def added(node)

def added(node)
	if node.transient?
		@transient_count += 1
	end
	
	return super
end

def finished?

Whether all children are considered finished. Ignores transient children.
def finished?
	@size == @transient_count
end

def initialize

def initialize
	super
	@transient_count = 0
end

def nil?

Whether the children is empty, preserved for compatibility.
def nil?
	empty?
end

def removed(node)

def removed(node)
	if node.transient?
		@transient_count -= 1
	end
	
	return super
end

def transients?

@returns [Boolean] Whether the node has transient children.
Some children may be marked as transient. Transient children do not prevent the parent from finishing.
def transients?
	@transient_count > 0
end