// State 2
try {
Thread.sleep(300);
} catch (InterruptedException e) {
throw new TerminateProcessException(this, "Terminated");
}
BooleanToken bToken = (BooleanToken) requestInput.get(0);
if (bToken.booleanValue()) {
// State 3
_debug(new ExecEvent(this, ExecEvent.ACCESSING));
try {
Thread.sleep(300);
} catch (InterruptedException e) {
throw new TerminateProcessException(this, "Terminated");
}
if (read) {
memoryInput.get(0);
} else {
StringToken strToken = new StringToken(getName());
memoryOutput.broadcast(strToken);
}
return;
} else {
// State 4
_debug(new ExecEvent(this, ExecEvent.BLOCKED));
try {
Thread.sleep(300);
} catch (InterruptedException e) {
throw new TerminateProcessException(this, "Terminated");
}
}
accessMemory(read);
}