示例#1
0
        public static ZwinderBuffer Create(BinaryReader reader)
        {
            var size              = reader.ReadInt64();
            var sizeMask          = reader.ReadInt64();
            var targetFrameLength = reader.ReadInt32();
            var useCompression    = reader.ReadBoolean();
            var ret = new ZwinderBuffer(new RewindConfig
            {
                BufferSize        = (int)(size >> 20),
                TargetFrameLength = targetFrameLength,
                UseCompression    = useCompression
            });

            if (ret.Size != size || ret._sizeMask != sizeMask)
            {
                throw new InvalidOperationException("Bad format");
            }
            ret.LoadStateBodyBinary(reader);
            return(ret);
        }