public static boolean isFailure(OkEvent event) { switch (event.function()) { case RequestType.UNLOCK: return event.value().equals(OkEvent.UNLOCK_FAILURE); case RequestType.LOCK: return event.value().equals(OkEvent.LOCK_FAILURE); case RequestType.REFRESH: return event.value().equals(OkEvent.REFRESH_FAILURE); case RequestType.TIMESTAMP: return event.value().equals(OkEvent.TIMESTAMP_FAILURE); default: return false; } }
@Override public void visit(OkEvent event) { String value = event.value(); if (valuesAlreadySeen.containsKey(value)) { OkEvent previousEvent = valuesAlreadySeen.get(value); errors.add(previousEvent); errors.add(event); } valuesAlreadySeen.put(value, event); }
private void validateTimestampHigherThanReadsCompletedBeforeInvoke(InvokeEvent invoke, OkEvent event) { OkEvent lastAcknowledgedRead = lastAcknowledgedReadBefore(invoke.time()); if (lastAcknowledgedRead != null) { long timestamp = Long.parseLong(event.value()); long lastAcknowledgedTimestamp = Long.parseLong(lastAcknowledgedRead.value()); if (lastAcknowledgedTimestamp >= timestamp) { errors.add(lastAcknowledgedRead); errors.add(invoke); errors.add(event); } } }
@Override public void visit(OkEvent event) { int process = event.process(); if (latestEventPerProcess.containsKey(process)) { OkEvent previousEvent = latestEventPerProcess.get(process); long previousTimestamp = Long.parseLong(previousEvent.value()); long timestamp = Long.parseLong(event.value()); if (timestamp <= previousTimestamp) { errors.add(previousEvent); errors.add(event); } } latestEventPerProcess.put(process, event); }