Пример #1
0
 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;
         }
     }
 }
Пример #2
0
        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);
        }