using JT809.Protocol.Enums; using JT809.Protocol.Formatters; using JT809.Protocol.MessagePack; using JT809.Protocol.Extensions; using System; using JT809.Protocol.Interfaces; namespace JT809.Protocol.SubMessageBody { /// /// 下发平台间消息补传请求消息 /// 子业务类型标识:DOWN_PLATFORM_MSG_RETRAN_REQ /// 描述:上级平台接收方在接受消息时,如发现消息报文序列号不连接,则立即发送消息补传请求。下级平台收到消息补传请求后,根据请求的消息报文序列号。重传相应的消息 /// public class JT809_0x9300_0x9303:JT809SubBodies, IJT809MessagePackFormatter, IJT809_2019_Version { public override ushort SubMsgId => JT809SubBusinessType.下发平台间消息补传请求消息.ToUInt16Value(); public override string Description => "下发平台间消息补传请求消息"; /// /// 需要重传消息的起始报文序列号和结束的报文序列号。如只请求重传一个消息,则起始消息报文序列号和结束消息报文序列号相同 /// 8位 /// public byte[] SerialList { get; set; } /// /// 重传起始系统utc时间 /// 8位 /// public DateTime Time { get; set; } public JT809_0x9300_0x9303 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x9300_0x9303(); value.SerialList = reader.ReadArray(8).ToArray(); value.Time = reader.ReadUTCDateTime(); return value; } public void Serialize(ref JT809MessagePackWriter writer, JT809_0x9300_0x9303 value, IJT809Config config) { writer.WriteArray(value.SerialList); writer.WriteUTCDateTime(value.Time); } } }