package io.wdd.rpc.execute.service;

import java.util.ArrayList;
import java.util.List;

public interface ExecutionService {


    /**
     * ⭐⭐⭐⭐⭐
     * 发送命令给Agent, 同步等待处理返回的消息
     * 超时等待时间为 COMMAND_MAX_WAIT_TIMEOUT
     * 如果为durationTask那么则没有返回结果
     */
    ArrayList<String> SendCommandToAgent(
            String agentTopicName,
            String executionType,
            List<String> funcContent,
            List<List<String>> pipeLineCommand,
            List<String> commandList,
            List<List<String>> commandListComplete,
            boolean needResultReplay,
            boolean durationTask
    );

    List<ArrayList<String>> SendCommandToAgentBatch(
            List<String> agentTopicNameList,
            String executionType,
            List<String> funcContent,
            List<String> commandList,
            List<List<String>> commandListComplete,
            boolean needResultReplay,
            boolean durationTask
    );


}
