Files
storageNode/src/main/java/lion/Message/Main/TaskReportAckMessage.java
T

37 lines
1.1 KiB
Java

package lion.Message.Main;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lion.Message.AbstractMessage;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 可靠任务报告的确认(type=13,主站 → 节点)。
*
* <p>主站只在报告落库并提交后回 {@link #RESULT_SUCCESS};落库失败不得回成功。节点收到成功
* ACK 才允许移除对应版本的快照,收到非成功结果则保留并重试。
*/
@Data
@NoArgsConstructor
public class TaskReportAckMessage extends AbstractMessage {
{
messageType = TASK_REPORT_ACK_MESSAGE;
}
/** 报告已提交落库,节点可安全移除该版本快照。 */
public static final byte RESULT_SUCCESS = 0;
/** 主站未提交(例如数据库失败),节点必须保留快照并重试。 */
public static final byte RESULT_REJECTED = 1;
private String reportId;
private byte result;
/** 同 {@link TaskCommandMessage#isDownload()}:避免被序列化成未知字段 {@code success}。 */
@JsonIgnore
public boolean isSuccess() {
return result == RESULT_SUCCESS;
}
}