#include <treeStrategy_topoUnaware.h>
Public Member Functions | |
virtual SpanningTreeVertex * | buildNextGen (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2) |
Concrete builders should implement this (preferably only for the appropriate specializations). |
Randomly selects child vertices and sub-trees etc. It should hence be, resource-wise, quite cheap. Use in situations when topology info is not available or a topo-aware tree build is costly (eg. early generations of really large multicast trees).
Technically, you are supposed to pass in a container of PEs or SpanningTreeVertices. However, since this class simply chops up the indices and makes no assumptions on the data in the container, it is possible to abuse this and randomly divvy up any container across numBranches.
Definition at line 26 of file treeStrategy_topoUnaware.h.
virtual SpanningTreeVertex* topo::SpanningTreeStrategy_topoUnaware< Iterator, ValueType >::buildNextGen | ( | const Iterator | firstVtx, | |
const Iterator | beyondLastVtx, | |||
const int | maxBranches = 2 | |||
) | [inline, virtual] |
Concrete builders should implement this (preferably only for the appropriate specializations).
Implements topo::SpanningTreeStrategy< Iterator >.
Definition at line 29 of file treeStrategy_topoUnaware.h.
References topo::impl::buildNextGen_topoUnaware().