package kernel;
import rescuecore2.config.Config;
import rescuecore2.messages.Command;
import rescuecore2.log.Logger;
import java.util.Collection;
/**
A CommandFilter that ignores agent commands for some number of timesteps.
*/
public class FrozenAgentsCommandFilter implements CommandFilter {
private int freezeTime;
@Override
public void initialise(Config config) {
freezeTime = config.getIntValue(KernelConstants.IGNORE_AGENT_COMMANDS_KEY, 0);
}
@Override
public void filter(Collection<Command> commands, KernelState state) {
int time = state.getTime();
if (time < freezeTime) {
Logger.info("Ignoring early commands: " + time + " < " + freezeTime);
commands.clear();
}
}
}