il.ac.bgu.cs.bp.bpjs.bprogram.runtimeengine.BProgramSyncSnapshot Maven / Gradle / Ivy
package il.ac.bgu.cs.bp.bpjs.bprogram.runtimeengine;
import il.ac.bgu.cs.bp.bpjs.events.BEvent;
import java.util.List;
import java.util.Set;
/**
* The state of a {@link BProgram} when all its BThreads are at {@code bsync}.
* This is more than a set of {@link BThreadSyncSnapshot}s, as it contains
* the queue of external events as well.
*
*
* For search: this class could serve as (part of?) the nodes in the search tree.
*
*
* @author michael
*/
public class BProgramSyncSnapshot {
private final Set threadSnapshots;
private final List externalEvents;
public BProgramSyncSnapshot(Set threadSnapshots, List externalEvents) {
this.threadSnapshots = threadSnapshots;
this.externalEvents = externalEvents;
}
public List getExternalEvents() {
return externalEvents;
}
public Set getBThreadSnapshots() {
return threadSnapshots;
}
}