Esempio n. 1
0
        public override void streamReadFunc(Stopwatch sw)
        {
            sw.Start();
            MemoryStream ms = new MemoryStream(base.streamWriteBuffer);
            BinaryReader br = new BinaryReader(ms);
            ListStruct   r  = new ListStruct();


            var h16 = ReadListHeader16(br);

            if (h16.Item1)
            {
                r.nullfl32 = new List <float>();

                for (int i = 0; i < h16.Item2; i++)
                {
                    r.nullfl32.Add(br.ReadSingle());
                }
            }

            var h32 = ReadListHeader32(br);

            if (h32.Item1)
            {
                r.nullil32 = new List <int>();

                for (int i = 0; i < h32.Item2; i++)
                {
                    r.nullil32.Add(br.ReadInt32());
                }
            }

            h16 = ReadListHeader16(br);

            if (h16.Item1)
            {
                r.emptyfl32 = new List <float>();

                for (int i = 0; i < h16.Item2; i++)
                {
                    r.emptyfl32.Add(br.ReadSingle());
                }
            }

            h32 = ReadListHeader32(br);

            if (h32.Item1)
            {
                r.emptyil32 = new List <int>();

                for (int i = 0; i < h32.Item2; i++)
                {
                    r.emptyil32.Add(br.ReadInt32());
                }
            }

            h16 = ReadListHeader16(br);

            if (h16.Item1)
            {
                r.fl32 = new List <float>();

                for (int i = 0; i < h16.Item2; i++)
                {
                    r.fl32.Add(br.ReadSingle());
                }
            }

            h32 = ReadListHeader32(br);

            if (h32.Item1)
            {
                r.il32 = new List <int>();

                for (int i = 0; i < h32.Item2; i++)
                {
                    r.il32.Add(br.ReadInt32());
                }
            }

            h16 = ReadListHeader16(br);

            if (h16.Item1)
            {
                r.isl = new List <IntegerStruct>();

                for (int i = 0; i < h16.Item2; i++)
                {
                    r.isl.Add(IntegerStruct.Read(br));
                }
            }

            sw.Stop();
            if (binaryReadedValue == null)
            {
                binaryReadedValue = r;
            }
        }
Esempio n. 2
0
        public override void streamReadFunc(Stopwatch sw)
        {
            sw.Start();
            MemoryStream     ms = new MemoryStream(base.streamWriteBuffer);
            BinaryReader     br = new BinaryReader(ms);
            DictionaryStruct r  = new DictionaryStruct();

            var h16 = ReadDictionaryHeader16(br);

            if (h16.Item1)
            {
                r.nulld16 = new Dictionary <float, int>();
                for (int i = 0; i < h16.Item2; i++)
                {
                    r.nulld16.Add(br.ReadSingle(), br.ReadInt32());
                }
            }

            var h32 = ReadDictionaryHeader32(br);

            if (h32.Item1)
            {
                for (int i = 0; i < h32.Item2; i++)
                {
                    r.nulld32.Add(br.ReadInt32(), br.ReadSingle());
                }
            }

            h16 = ReadDictionaryHeader16(br);
            if (h16.Item1)
            {
                r.emptyd16 = new Dictionary <float, int>();
                for (int i = 0; i < h16.Item2; i++)
                {
                    r.emptyd16.Add(br.ReadSingle(), br.ReadInt32());
                }
            }

            h32 = ReadDictionaryHeader32(br);
            if (h32.Item1)
            {
                r.emptyd32 = new Dictionary <int, float>();
                for (int i = 0; i < h32.Item2; i++)
                {
                    r.emptyd32.Add(br.ReadInt32(), br.ReadSingle());
                }
            }

            h16 = ReadDictionaryHeader16(br);
            if (h16.Item1)
            {
                r.d16 = new Dictionary <float, int>();
                for (int i = 0; i < h16.Item2; i++)
                {
                    r.d16.Add(br.ReadSingle(), br.ReadInt32());
                }
            }

            h32 = ReadDictionaryHeader32(br);
            if (h32.Item1)
            {
                r.d32 = new Dictionary <int, float>();
                for (int i = 0; i < h32.Item2; i++)
                {
                    r.d32.Add(br.ReadInt32(), br.ReadSingle());
                }
            }

            h32 = ReadDictionaryHeader32(br);
            if (h32.Item1)
            {
                r.nv1 = new Dictionary <int, int>();
                for (int i = 0; i < h32.Item2; i++)
                {
                    r.nv1.Add(br.ReadInt32(), br.ReadInt32());
                }
            }

            h16 = ReadDictionaryHeader16(br);
            if (h16.Item1)
            {
                r.isd = new Dictionary <int, IntegerStruct>();
                for (int i = 0; i < h16.Item2; i++)
                {
                    r.isd.Add(br.ReadInt32(), IntegerStruct.Read(br));
                }
            }

            h32 = ReadDictionaryHeader32(br);
            if (h32.Item1)
            {
                r.nv2 = new Dictionary <int, int>();
                for (int i = 0; i < h32.Item2; i++)
                {
                    r.nv2.Add(br.ReadInt32(), br.ReadInt32());
                }
            }

            sw.Stop();
            if (binaryReadedValue == null)
            {
                binaryReadedValue = r;
            }
        }
        public override void streamReadFunc(Stopwatch sw)
        {
            sw.Start();

            MemoryStream ms = new MemoryStream(base.streamWriteBuffer);
            BinaryReader br = new BinaryReader(ms);

            var r = new ArrayStruct();

            // nullsv1, int16
            var ex16 = ReadArrayHeader16(br);

            if (ex16.Item1)
            {
                r.nullsv1 = new string[ex16.Item2];
                for (int i = 0; i < ex16.Item2; i++)
                {
                    r.nullsv1[i] = StringStruct.ReadString16(br);
                }
            }

            //nullia32, int32
            var ex32 = ReadArrayHeader32(br);

            if (ex32.Item1)
            {
                r.nullia32 = new int[ex32.Item2];

                for (int i = 0; i < ex32.Item2; i++)
                {
                    r.nullia32[i] = br.ReadInt32();
                }
            }

            //emptysv1, int16
            ex16 = ReadArrayHeader16(br);

            if (ex16.Item1)
            {
                r.emptysv1 = new string[ex16.Item2];
                for (int i = 0; i < ex16.Item2; i++)
                {
                    r.emptysv1[i] = StringStruct.ReadString16(br);
                }
            }

            //emptyia32, int32
            ex32 = ReadArrayHeader32(br);

            if (ex32.Item1)
            {
                r.emptyia32 = new int[ex32.Item2];

                for (int i = 0; i < ex32.Item2; i++)
                {
                    r.emptyia32[i] = br.ReadInt32();
                }
            }

            //fa32, int16
            ex16 = ReadArrayHeader16(br);

            if (ex16.Item1)
            {
                r.fa32 = new float[ex16.Item2];
                for (int i = 0; i < ex16.Item2; i++)
                {
                    r.fa32[i] = br.ReadSingle();
                }
            }

            //sv1, int16
            ex16 = ReadArrayHeader16(br);

            if (ex16.Item1)
            {
                r.sv1 = new string[ex16.Item2];
                for (int i = 0; i < ex16.Item2; i++)
                {
                    r.sv1[i] = StringStruct.ReadString16(br);
                }
            }

            ex32 = ReadArrayHeader32(br);

            if (ex32.Item1)
            {
                r.ia32 = new int[ex32.Item2];
                for (int i = 0; i < ex32.Item2; i++)
                {
                    r.ia32[i] = br.ReadInt32();
                }
            }

            ex16 = ReadArrayHeader16(br);

            if (ex16.Item1)
            {
                r.isa = new IntegerStruct[ex16.Item2];
                for (int i = 0; i < ex16.Item2; i++)
                {
                    r.isa[i] = IntegerStruct.Read(br);
                }
            }

            sw.Stop();

            base.binaryReadedValue = r;
        }