PullJoinNode

class PullJoinNode<T>(label: String, sources: List<PullInputChannel<T>>, destination: PullOutputChannel<T>, policy: JoinPolicy<T> = joinPolicy(RandomPolicy())) : Node

Merges entities from multiple pull inputs into a single pull output based on a JoinPolicy. When the destination pulls, it selects one of the ready sources and pulls from it.

Parameters

T

the type of entities being merged

label

the name of this node

sources

the list of input channels to merge from

destination

the output channel where merged entities are sent

policy

the JoinPolicy that determines which source to pull from (defaults to random)

Constructors

Link copied to clipboard
constructor(label: String, sources: List<PullInputChannel<T>>, destination: PullOutputChannel<T>, policy: JoinPolicy<T> = joinPolicy(RandomPolicy()))

Properties

Link copied to clipboard
override val incoming: List<InputChannel<*, *>>
Link copied to clipboard
Link copied to clipboard
override val outgoing: List<OutputChannel<*, *>>
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
context(_: Simulator)
open override fun onStart()

Initializes the policy

Link copied to clipboard
Link copied to clipboard
open override fun toString(): String