package com.battery.device.bts; import com.battery.device.api.DeviceAdapterException; /** * 表示可供调度与恢复逻辑分类处理的 BTS TCP 传输失败。 */ public class BtsTransportException extends DeviceAdapterException { private static final long serialVersionUID = 1L; public enum Reason { CONNECTION_FAILED, TIMEOUT, DISCONNECTED, RESPONSE_TOO_LARGE, INVALID_UTF8, IO_FAILURE, /** 请求不在只读命令白名单内,在代码层被拒绝发出(ADR-0068)。 */ READ_ONLY_REJECTED } private final Reason reason; public BtsTransportException(Reason reason, String message, Throwable cause) { super(reason.name(), message, cause); this.reason = reason; } /** 返回本次传输失败的分类。 */ public Reason reason() { return reason; } }