package com.agent.management.engine;

import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

/**
 * 空实现 SseEmitter：send / complete / completeWithError 均为 no-op。
 *
 * 用于外部 API（/api/v1/...）调用 WorkflowEngine 时占位：
 * 引擎通过 emitter 参数传递 + safeSend 调用模式已成型，
 * 但外部 API 不需要直连客户端（事件通过 SseEventBus 派发），
 * 故传入 NoopSseEmitter 让所有 emitter 操作安全空转。
 */
public class NoopSseEmitter extends SseEmitter {

    public NoopSseEmitter() {
        super(Long.MAX_VALUE); // 永不超时（不会触发 emitter 自动关闭）
    }

    @Override
    public void send(SseEventBuilder builder) {
        // no-op：事件由 SseEventBus 负责派发
    }

    @Override
    public void complete() {
        // no-op
    }

    @Override
    public void completeWithError(Throwable throwable) {
        // no-op
    }
}
