public void ParseAsn() { if (body_object != null) { return; } _HasError = true; using (BitArrayInputStream stream = new BitArrayInputStream(new MemoryStream(body_bytes))) { try { body_object = CommonTraceParser.DecodeMsg(stream, AsnParseClass); if (((stream.bitLength - stream.bitPosition) > 8L) && (AsnParseClass != null)) { _HasError = true; } else { _HasError = false; } } catch (Exception) { stream.bitPosition = 0L; } } }
public static TraceResultList Parse(List <ZteTraceRecSession> sessions, bool isParseAsn) { var list = new TraceResultList(); foreach (var session in sessions) { if (session != null) { var asnParseClass = GetAsnParseClass(session); if (asnParseClass == null) { Console.WriteLine("{0}:{1}", session.msg.function, session.msg.name); } else { try { session.AsnParseClass = asnParseClass.MsgDepend; if (isParseAsn) { list.Messages.Add( CommonTraceParser.DecodeMsg(session.msg.rawMsg.value, session.AsnParseClass)); } } catch (Exception) { list.FailCounts++; } } } } return(list); }