package kernel; import rescuecore2.config.Config; import rescuecore2.messages.Command; import java.util.Collection; /** The CommandCollector gathers commands from agents. */ public interface CommandCollector { /** Collect all commands from agents. @param agents The agents. @param timestep The timestep. @return All agent commands. @throws InterruptedException If the thread is interrupted. */ Collection<Command> getAgentCommands(Collection<AgentProxy> agents, int timestep) throws InterruptedException; /** Initialise this command collector. @param config The kernel configuration. */ void initialise(Config config); }