diff --git a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/ActionData.kt b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/ActionData.kt index 9aededd8..a74a3bae 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/ActionData.kt +++ b/Partner-Main/src/main/java/work/slhaf/partner/core/action/entity/ActionData.kt @@ -141,3 +141,5 @@ data class ImmediateActionData( override val description: String, override val source: String, ) : ActionData() + +// TODO 考虑是否新增 SYNC、ASYNC 分类,用于适应后台与非后台行动,但是否引入则需要权衡,分析原因和引入后果、是否值得 diff --git a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java index 28b46149..f3cbd9b9 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java +++ b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/executor/ActionExecutor.java @@ -165,6 +165,8 @@ public class ActionExecutor extends AgentRunningSubModule, Void>() }) } + // TODO 如果要将 TimeWheel 作为 Agent 内部的循环周期,那么不依赖 Action 链路的内容,将不适合参与到 ActionExecutor,因此需要将 ActionData 的触发类型进行分类:SILENT TRIGGER(仅限更新 ActionData 内部状态,通过属性 copy 完成,不开放过多权限,防止序列化失败)、EXECUTOR、AGENT TURN。考虑将时间轮下放至 ActionCapability,作为底层行动语义的一部分 override fun execute(scheduledActionDataSet: Set?): Void? { schedulerScope.launch { scheduledActionDataSet?.run {