@@ -25,121 +25,6 @@ public class CommitMessageMutatorFactory extends MessageMutatorFactory {
25
25
@ Override
26
26
public List <MessageMutationFault > mutators () {
27
27
return List .of (
28
- new MessageMutationFault ("hbft-commit-view-inc" , "Increment View Number" ,List .of (CommitMessage .class )) {
29
- @ Override
30
- public void accept (FaultContext serializable ) {
31
- Optional <Event > event = serializable .getEvent ();
32
- if (event .isEmpty ()) {
33
- throw invalidMessageTypeException ;
34
- }
35
- if (!(event .get () instanceof MessageEvent messageEvent )) {
36
- throw invalidMessageTypeException ;
37
- }
38
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
39
- throw invalidMessageTypeException ;
40
- }
41
- CommitMessage mutatedMessage = message .withViewNumber (message .getViewNumber () + 1 );
42
- mutatedMessage .sign (message .getSignedBy ());
43
- messageEvent .setPayload (mutatedMessage );
44
- }
45
- },
46
- new MessageMutationFault ("hbft-commit-view-dec" , "Decrement View Number" , List .of (CommitMessage .class )) {
47
- @ Override
48
- public void accept (FaultContext serializable ) {
49
- Optional <Event > event = serializable .getEvent ();
50
- if (event .isEmpty ()) {
51
- throw invalidMessageTypeException ;
52
- }
53
- if (!(event .get () instanceof MessageEvent messageEvent )) {
54
- throw invalidMessageTypeException ;
55
- }
56
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
57
- throw invalidMessageTypeException ;
58
- }
59
- CommitMessage mutatedMessage = message .withViewNumber (message .getViewNumber () - 1 );
60
- mutatedMessage .sign (message .getSignedBy ());
61
- messageEvent .setPayload (mutatedMessage );
62
- }
63
- },
64
- new MessageMutationFault ("hbft-commit-seq-inc" , "Increment Sequence Number" , List .of (CommitMessage .class )) {
65
- @ Override
66
- public void accept (FaultContext serializable ) {
67
- Optional <Event > event = serializable .getEvent ();
68
- if (event .isEmpty ()) {
69
- throw invalidMessageTypeException ;
70
- }
71
- if (!(event .get () instanceof MessageEvent messageEvent )) {
72
- throw invalidMessageTypeException ;
73
- }
74
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
75
- throw invalidMessageTypeException ;
76
- }
77
-
78
- CommitMessage mutatedMessage = message .withSequenceNumber (message .getSequenceNumber () + 1 );
79
- mutatedMessage .sign (message .getSignedBy ());
80
- messageEvent .setPayload (mutatedMessage );
81
- }
82
- },
83
- new MessageMutationFault ("hbft-commit-sec-dec" , "Decrement Sequence Number" , List .of (CommitMessage .class )) {
84
- @ Override
85
- public void accept (FaultContext serializable ) {
86
- Optional <Event > event = serializable .getEvent ();
87
- if (event .isEmpty ()) {
88
- throw invalidMessageTypeException ;
89
- }
90
- if (!(event .get () instanceof MessageEvent messageEvent )) {
91
- throw invalidMessageTypeException ;
92
- }
93
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
94
- throw invalidMessageTypeException ;
95
- }
96
- CommitMessage mutatedMessage = message .withSequenceNumber (message .getSequenceNumber () - 1 );
97
- mutatedMessage .sign (message .getSignedBy ());
98
- messageEvent .setPayload (mutatedMessage );
99
- }
100
- },
101
- new MessageMutationFault ("hbft-commit-different-digest" , "Change digest" , List .of (CommitMessage .class )) {
102
- @ Override
103
- public void accept (FaultContext serializable ) {
104
- Optional <Event > event = serializable .getEvent ();
105
- if (event .isEmpty ()) {
106
- throw invalidMessageTypeException ;
107
- }
108
- if (!(event .get () instanceof MessageEvent messageEvent )) {
109
- throw invalidMessageTypeException ;
110
- }
111
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
112
- throw invalidMessageTypeException ;
113
- }
114
- // Create a random digest
115
- byte [] digest = new byte [20 ];
116
- CommitMessage mutatedMessage = message .withDigest (digest );
117
- mutatedMessage .sign (message .getSignedBy ());
118
- messageEvent .setPayload (mutatedMessage );
119
- }
120
- },
121
- new MessageMutationFault ("hbft-commit-remove-last-request-from-history" , "Remove last request from history" , List .of (CommitMessage .class )) {
122
- @ Override
123
- public void accept (FaultContext serializable ) {
124
- Optional <Event > event = serializable .getEvent ();
125
- if (event .isEmpty ()) {
126
- throw invalidMessageTypeException ;
127
- }
128
- if (!(event .get () instanceof MessageEvent messageEvent )) {
129
- throw invalidMessageTypeException ;
130
- }
131
- if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
132
- throw invalidMessageTypeException ;
133
- }
134
- SpeculativeHistory history = message .getSpeculativeHistory ().getHistoryBefore (message .getSequenceNumber ());
135
- CommitMessage mutatedMessage = message .withSpeculativeHistory (history );
136
- mutatedMessage .sign (message .getSignedBy ());
137
- messageEvent .setPayload (mutatedMessage );
138
- }
139
- }
140
-
141
- // ANY-SCOPE mutations
142
- //,
143
28
// new MessageMutationFault("hbft-commit-view-inc", "Increment View Number",List.of(CommitMessage.class)) {
144
29
// @Override
145
30
// public void accept(FaultContext serializable) {
@@ -153,7 +38,7 @@ public void accept(FaultContext serializable) {
153
38
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
154
39
// throw invalidMessageTypeException;
155
40
// }
156
- // CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + random.nextLong(bound) );
41
+ // CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() + 1 );
157
42
// mutatedMessage.sign(message.getSignedBy());
158
43
// messageEvent.setPayload(mutatedMessage);
159
44
// }
@@ -171,7 +56,7 @@ public void accept(FaultContext serializable) {
171
56
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
172
57
// throw invalidMessageTypeException;
173
58
// }
174
- // CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - random.nextLong(bound) );
59
+ // CommitMessage mutatedMessage = message.withViewNumber(message.getViewNumber() - 1 );
175
60
// mutatedMessage.sign(message.getSignedBy());
176
61
// messageEvent.setPayload(mutatedMessage);
177
62
// }
@@ -190,7 +75,7 @@ public void accept(FaultContext serializable) {
190
75
// throw invalidMessageTypeException;
191
76
// }
192
77
193
- // CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + random.nextLong(bound) );
78
+ // CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() + 1 );
194
79
// mutatedMessage.sign(message.getSignedBy());
195
80
// messageEvent.setPayload(mutatedMessage);
196
81
// }
@@ -208,12 +93,127 @@ public void accept(FaultContext serializable) {
208
93
// if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
209
94
// throw invalidMessageTypeException;
210
95
// }
211
- // CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - random.nextLong(bound));
96
+ // CommitMessage mutatedMessage = message.withSequenceNumber(message.getSequenceNumber() - 1);
97
+ // mutatedMessage.sign(message.getSignedBy());
98
+ // messageEvent.setPayload(mutatedMessage);
99
+ // }
100
+ // },
101
+ // new MessageMutationFault("hbft-commit-different-digest", "Change digest", List.of(CommitMessage.class)) {
102
+ // @Override
103
+ // public void accept(FaultContext serializable) {
104
+ // Optional<Event> event = serializable.getEvent();
105
+ // if (event.isEmpty()) {
106
+ // throw invalidMessageTypeException;
107
+ // }
108
+ // if (!(event.get() instanceof MessageEvent messageEvent)) {
109
+ // throw invalidMessageTypeException;
110
+ // }
111
+ // if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
112
+ // throw invalidMessageTypeException;
113
+ // }
114
+ // // Create a random digest
115
+ // byte[] digest = new byte[20];
116
+ // CommitMessage mutatedMessage = message.withDigest(digest);
117
+ // mutatedMessage.sign(message.getSignedBy());
118
+ // messageEvent.setPayload(mutatedMessage);
119
+ // }
120
+ // },
121
+ // new MessageMutationFault("hbft-commit-remove-last-request-from-history", "Remove last request from history", List.of(CommitMessage.class)) {
122
+ // @Override
123
+ // public void accept(FaultContext serializable) {
124
+ // Optional<Event> event = serializable.getEvent();
125
+ // if (event.isEmpty()) {
126
+ // throw invalidMessageTypeException;
127
+ // }
128
+ // if (!(event.get() instanceof MessageEvent messageEvent)) {
129
+ // throw invalidMessageTypeException;
130
+ // }
131
+ // if (!(messageEvent.getPayload() instanceof CommitMessage message)) {
132
+ // throw invalidMessageTypeException;
133
+ // }
134
+ // SpeculativeHistory history = message.getSpeculativeHistory().getHistoryBefore(message.getSequenceNumber());
135
+ // CommitMessage mutatedMessage = message.withSpeculativeHistory(history);
212
136
// mutatedMessage.sign(message.getSignedBy());
213
137
// messageEvent.setPayload(mutatedMessage);
214
138
// }
215
139
// }
216
140
141
+ // ANY-SCOPE mutations
142
+ //,
143
+ new MessageMutationFault ("hbft-commit-view-inc" , "Increment View Number" ,List .of (CommitMessage .class )) {
144
+ @ Override
145
+ public void accept (FaultContext serializable ) {
146
+ Optional <Event > event = serializable .getEvent ();
147
+ if (event .isEmpty ()) {
148
+ throw invalidMessageTypeException ;
149
+ }
150
+ if (!(event .get () instanceof MessageEvent messageEvent )) {
151
+ throw invalidMessageTypeException ;
152
+ }
153
+ if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
154
+ throw invalidMessageTypeException ;
155
+ }
156
+ CommitMessage mutatedMessage = message .withViewNumber (message .getViewNumber () + random .nextLong (bound ));
157
+ mutatedMessage .sign (message .getSignedBy ());
158
+ messageEvent .setPayload (mutatedMessage );
159
+ }
160
+ },
161
+ new MessageMutationFault ("hbft-commit-view-dec" , "Decrement View Number" , List .of (CommitMessage .class )) {
162
+ @ Override
163
+ public void accept (FaultContext serializable ) {
164
+ Optional <Event > event = serializable .getEvent ();
165
+ if (event .isEmpty ()) {
166
+ throw invalidMessageTypeException ;
167
+ }
168
+ if (!(event .get () instanceof MessageEvent messageEvent )) {
169
+ throw invalidMessageTypeException ;
170
+ }
171
+ if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
172
+ throw invalidMessageTypeException ;
173
+ }
174
+ CommitMessage mutatedMessage = message .withViewNumber (message .getViewNumber () - random .nextLong (bound ));
175
+ mutatedMessage .sign (message .getSignedBy ());
176
+ messageEvent .setPayload (mutatedMessage );
177
+ }
178
+ },
179
+ new MessageMutationFault ("hbft-commit-seq-inc" , "Increment Sequence Number" , List .of (CommitMessage .class )) {
180
+ @ Override
181
+ public void accept (FaultContext serializable ) {
182
+ Optional <Event > event = serializable .getEvent ();
183
+ if (event .isEmpty ()) {
184
+ throw invalidMessageTypeException ;
185
+ }
186
+ if (!(event .get () instanceof MessageEvent messageEvent )) {
187
+ throw invalidMessageTypeException ;
188
+ }
189
+ if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
190
+ throw invalidMessageTypeException ;
191
+ }
192
+
193
+ CommitMessage mutatedMessage = message .withSequenceNumber (message .getSequenceNumber () + random .nextLong (bound ));
194
+ mutatedMessage .sign (message .getSignedBy ());
195
+ messageEvent .setPayload (mutatedMessage );
196
+ }
197
+ },
198
+ new MessageMutationFault ("hbft-commit-sec-dec" , "Decrement Sequence Number" , List .of (CommitMessage .class )) {
199
+ @ Override
200
+ public void accept (FaultContext serializable ) {
201
+ Optional <Event > event = serializable .getEvent ();
202
+ if (event .isEmpty ()) {
203
+ throw invalidMessageTypeException ;
204
+ }
205
+ if (!(event .get () instanceof MessageEvent messageEvent )) {
206
+ throw invalidMessageTypeException ;
207
+ }
208
+ if (!(messageEvent .getPayload () instanceof CommitMessage message )) {
209
+ throw invalidMessageTypeException ;
210
+ }
211
+ CommitMessage mutatedMessage = message .withSequenceNumber (message .getSequenceNumber () - random .nextLong (bound ));
212
+ mutatedMessage .sign (message .getSignedBy ());
213
+ messageEvent .setPayload (mutatedMessage );
214
+ }
215
+ }
216
+
217
217
);
218
218
}
219
219
}
0 commit comments