FanOutCircuitFactory is a circuit factory that creates distributed test circuits. Given a set of participating test client nodes, it assigns one node to the SENDER role and the remainder to the RECEIVER role.
CRC Card Responsibilities | Collaborations |
---|
|
@todo Adapt this to be an n*m topology circuit factory. Need to add circuit topology definitions to the testparameters. Place n senders onto the available test clients, and m receivers. Where n or m is larger than the available nodes, start stacking multiple test clients on each node. There will also be an option that indicates whether nodes can play both roles, and how many nodes out of all available may be assigned to each role.
@todo The createCircuit methods on this and InteropCircuitFactory are going to be identical. This is because thepartitioning into senders and receivers is already done by the test decorators. Either eliminate these factories as unnesesary, or move the partitioning functionaility into the factories, in which case the test decorators can probably be merged or eliminated. There is confusion over the placement of responsibilities between the factories and the test decorators... although the test decorators may well do more than just circuit creation in the future. For example, there may have to be a special decorator for test repetition that does one circuit creation, but the runs many tests over it, in which case the handling of responsibilities becomes clearer.