Пример #1
0
        internal static int[] ReadArray(this PrimitiveReader reader)
        {
            var result = new int[reader.ReadInt32()];

            for (int i = 0; i < result.Length; i++)
            {
                result[i] = reader.ReadInt32();
            }
            return(result);
        }
Пример #2
0
        public void Load(PrimitiveReader reader)
        {
            Id = reader.ReadUInt64();
            Message = reader.ReadString();
            SourceId = reader.ReadInt32();
            ThreadId = reader.ReadInt32();
            Time = new DateTime(reader.ReadInt64());
            numericLogLevel = reader.ReadInt32();

            if(ThreadId == -1)
            {
                ThreadId = null;
            }
        }
Пример #3
0
        public void ReadFrom(PrimitiveReader reader)
        {
            ModuleGUID = reader.ReadGuid();
            var classNo = reader.ReadInt32();

            for (var j = 0; j < classNo; j++)
            {
                var td = new TypeDescriptor();
                td.ReadFrom(reader);
                Classes.Add(td);
            }
        }
Пример #4
0
        public void ReadFrom(PrimitiveReader reader)
        {
            AssemblyQualifiedName = reader.ReadString();
            var countNo = reader.ReadInt32();

            for (var i = 0; i < countNo; i++)
            {
                var field = new FieldDescriptor(AssemblyQualifiedName);
                field.ReadFrom(reader);
                Fields.Add(field);
            }
        }
Пример #5
0
        internal AssemblyDescriptor ReadAssembly()
        {
            var assemblyId = PrimitiveReader.ReadInt32();

            if (assembliesList.Count <= assemblyId)
            {
                var descriptor = AssemblyDescriptor.ReadFromStream(this);
                assembliesList.Add(descriptor);
                return(descriptor);
            }
            else
            {
                return(assembliesList[assemblyId]);
            }
        }
Пример #6
0
 public void Load(PrimitiveReader reader)
 {
     // checking magic
     var magic = reader.ReadUInt32();
     if(magic != Magic)
     {
         throw new InvalidOperationException("Memory: Cannot resume state from stream: Invalid magic.");
     }
     SegmentSize = reader.ReadInt32();
     size = reader.ReadUInt32();
     if(emptyCtorUsed)
     {
         Init();
     }
     var realSegmentsCount = 0;
     for(var i = 0; i < segments.Length; i++)
     {
         var isTouched = reader.ReadBoolean();
         if(!isTouched)
         {
             continue;
         }
         var compressedSegmentSize = reader.ReadInt32();
         var compressedBuffer = reader.ReadBytes(compressedSegmentSize);
         TouchSegment(i);
         realSegmentsCount++;
         LZ4Codec.Decode64(compressedBuffer, segments[i], SegmentSize);
     }
     this.NoisyLog(string.Format("{0} segments loaded from stream, of which {1} had content.", segments.Length, realSegmentsCount));
 }