package org.yzh.protocol.commons.transform.attribute; import io.github.yezhihao.protostar.Schema; import io.netty.buffer.ByteBuf; import lombok.Data; import lombok.ToString; import lombok.experimental.Accessors; /** * 路段行驶时间不足/过长 0x13 * length 7 */ @ToString @Data @Accessors(chain = true) public class RouteDriveTimeAlarm extends Alarm { public static final Integer key = 19; public static final Schema SCHEMA = new RouteDriveTimeAlarmSchema(); /** 路段ID */ private int areaId; /** 路段行驶时间(秒) */ private int driveTime; /** 结果:0.不足 1.过长 */ private byte result; public RouteDriveTimeAlarm() { } public RouteDriveTimeAlarm(int areaId, int driveTime, byte result) { this.areaId = areaId; this.driveTime = driveTime; this.result = result; } @Override public int getAlarmType() { return key; } private static class RouteDriveTimeAlarmSchema implements Schema { private RouteDriveTimeAlarmSchema() { } @Override public RouteDriveTimeAlarm readFrom(ByteBuf input) { RouteDriveTimeAlarm message = new RouteDriveTimeAlarm(); message.areaId = input.readInt(); message.driveTime = input.readUnsignedShort(); message.result = input.readByte(); return message; } @Override public void writeTo(ByteBuf output, RouteDriveTimeAlarm message) { output.writeInt(message.areaId); output.writeShort(message.driveTime); output.writeByte(message.result); } } }