public byte[] ProcessData(byte[] data) { Builder.BuildFromBytes(data); EgtsPacket inPacket = Builder.GetPacket(); ProcessingResult procResult = new ProcessingResult(); ProcessingCode code = CheckPacket(inPacket, data); if (code == ProcessingCode.EGTS_PC_OK) { inPacket.SetProcessor(PacketProcessor); inPacket.Process(ref procResult); } else { procResult.PacketId = inPacket.Header.PID; procResult.Result = code; } Builder.BuildFromProcessingResult(procResult); EgtsPacket outPacket = Builder.GetPacket(); return(outPacket.GetBytes()); }
public byte[] ProcessData(byte[] data) { Builder.BuildFromBytes(data); EgtsPacket inPacket = Builder.GetPacket(); Log.Debug("Получен пакет EGTS {@packet}", inPacket); ProcessingResult procResult = new ProcessingResult(); ProcessingCode code = CheckPacket(inPacket, data); if (code == ProcessingCode.EGTS_PC_OK) { Log.Debug("Результат проверки полученного пакета #{PacketId} - {ProcessingCode}", inPacket.Header.PID, code); inPacket.SetProcessor(PacketProcessor); inPacket.Process(ref procResult); } else { Log.Warning("Результат проверки полученного пакета #{PacketId} - {ProcessingCode}", inPacket.Header.PID, code); procResult.PacketId = inPacket.Header.PID; procResult.Result = code; } Builder.BuildFromProcessingResult(procResult); EgtsPacket outPacket = Builder.GetPacket(); return(outPacket.GetBytes()); }