public static CLogTraceLineInformation_V2 ConvertFromV1(CLogTraceLineInformation v1)
        {
            CLogTraceLineInformation_V2 ret = new CLogTraceLineInformation_V2();

            ret.UniquenessHash = v1.UniquenessHash;
            ret.TraceID        = v1.TraceID;
            ret.EncodingString = "Unknown: in back compat mode, please rebuild sidecar using newer tools";
            return(ret);
        }
示例#2
0
        public void Insert(ICLogOutputModule module, CLogDecodedTraceLine traceLine)
        {
            string asString;
            Guid   hash = GenerateUniquenessHash(module, traceLine, out asString);
            CLogTraceLineInformation info = TraceInformation
                                            .Where(x => x.TraceID.Equals(traceLine.UniqueId)).FirstOrDefault();

            if (null == info)
            {
                info                   = new CLogTraceLineInformation();
                info.Unsaved           = true;
                info.PreviousFileMatch = traceLine;

                info.TraceID        = traceLine.UniqueId;
                info.UniquenessHash = hash;
                TraceInformation.Add(info);
            }

            if (info.UniquenessHash != hash)
            {
                throw new CLogEnterReadOnlyModeException("DuplicateID", CLogHandledException.ExceptionType.DuplicateId, traceLine.match);
            }
        }
示例#3
0
 public void Remove(CLogTraceLineInformation trace)
 {
     TraceInformation.Remove(trace);
 }
示例#4
0
        public bool IsUnique(ICLogOutputModule module, CLogDecodedTraceLine traceLine, out CLogTraceLineInformation existingTraceInformation)
        {
            existingTraceInformation = TraceInformation
                                       .Where(x => x.TraceID.Equals(traceLine.UniqueId)).FirstOrDefault();

            if (null == existingTraceInformation)
            {
                return(true);
            }

            string asString;
            Guid   hash = GenerateUniquenessHash(module, traceLine, out asString);

            if (hash != existingTraceInformation.UniquenessHash)
            {
                return(false);
            }

            return(true);
        }