Open sperka opened 7 years ago
@tpr1
lrc.registerFederationSynchronizationPoint
is not calledthe term late joiner doesn't quite describe what we want to support; optional joiner would be a more appropriate term. this might be a missing feature rather than a bug.
a federate should have a flag that indicates it may or may not join the federation. in addition, if it does join the federation, it may or may not join late. that gives three permutations:
I don't quite see the use-case for an optional federate yet. But, let's say we have such a use-case, then @sperka, is there a way we can support this feature, while keeping the existing functionality of synchronization points intact?
This is a feature request. Synched the labels and milestone
visualization federates that are passive listeners and do not impact the experiment progression.
the original requirement was because of the workshop exercise house federates where some people would finish the exercise on time, while others would still be working after the federation has started.
The register synchronization point function is called without the expected federate set: https://github.com/SimIntToolkit/cpswt-core/blob/v0.5.0/cpswt-core/federation-manager/src/main/java/org/cpswt/hla/FederationManager.java#L347
This function should be passed the list of federates that are expected to join. With the current implementation, this may be impossible because we do not know the federate names of the expected federates until after they have joined. However, with the empty set, even the late join federates are expected to achieve the registered synchronization points, which causes the logical time freeze.