Skip to content

Commit 1194391

Browse files
committed
Add GST as a Scheduler fault
1 parent a3c58fc commit 1194391

File tree

3 files changed

+37
-0
lines changed

3 files changed

+37
-0
lines changed

simulator/src/main/java/byzzbench/simulator/BaseScenario.java

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import byzzbench.simulator.faults.Fault;
55
import byzzbench.simulator.faults.FaultContext;
66
import byzzbench.simulator.faults.factories.ByzzFuzzScenarioFaultFactory;
7+
import byzzbench.simulator.faults.faults.GlobalStabilizationTimeFault;
78
import byzzbench.simulator.faults.faults.HealNodeNetworkFault;
89
import byzzbench.simulator.faults.faults.IsolateProcessNetworkFault;
910
import byzzbench.simulator.schedule.Schedule;
@@ -179,6 +180,7 @@ public final void setupScenario() {
179180
//this.getClients().values().forEach(Client::initialize);
180181
this.getNodes().values().forEach(Node::initialize);
181182
this.scheduler.initializeScenario(this);
183+
this.transport.addFault(new GlobalStabilizationTimeFault(), false);
182184
}
183185

184186
public final void loadParameters(JsonNode parameters) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package byzzbench.simulator.faults.behaviors;
2+
3+
import byzzbench.simulator.faults.FaultBehavior;
4+
import byzzbench.simulator.faults.FaultContext;
5+
6+
public class GlobalStabilizationTimeBehavior implements FaultBehavior {
7+
@Override
8+
public String getId() {
9+
return "GST";
10+
}
11+
12+
@Override
13+
public String getName() {
14+
return "Global Stabilization Time";
15+
}
16+
17+
@Override
18+
public void accept(FaultContext ctx) {
19+
ctx.getScenario().getTransport().globalStabilizationTime();
20+
}
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package byzzbench.simulator.faults.faults;
2+
3+
import byzzbench.simulator.faults.BaseFault;
4+
import byzzbench.simulator.faults.behaviors.GlobalStabilizationTimeBehavior;
5+
import byzzbench.simulator.faults.predicates.IsBeforeGST;
6+
7+
/**
8+
* Triggers the Global Stabilization Time (GST) if not already triggered.
9+
*/
10+
public class GlobalStabilizationTimeFault extends BaseFault {
11+
public GlobalStabilizationTimeFault() {
12+
super("GST", new IsBeforeGST(), new GlobalStabilizationTimeBehavior());
13+
}
14+
}

0 commit comments

Comments
 (0)