Exemplo n.º 1
0
        protected override IEnumerable <byte[]> PartsStream()
        {
            var dynamicPartConfiguration = new DynamicPartConfiguration
            {
                PartSize = BitConverter.GetBytes(default(int)).Length
            };

            var enumerable = _source.ReadFileByDynamicParts(dynamicPartConfiguration);

            using var enumerator = enumerable.GetEnumerator();
            while (enumerator.MoveNext())
            {
                var lengthBytes  = enumerator.Current;
                var lengthOfPart = BitConverter.ToInt32(lengthBytes);
                dynamicPartConfiguration.PartSize = lengthOfPart;

                enumerator.MoveNext();
                var compressed = enumerator.Current;
                dynamicPartConfiguration.PartSize = lengthBytes.Length;

                yield return(compressed);
            }
        }
Exemplo n.º 2
0
        private static IEnumerable <byte[]> DecompressedParts(string nameOfCompressedFile)
        {
            var dynamicPartConfiguration = new DynamicPartConfiguration
            {
                PartSize = BitConverter.GetBytes(default(int)).Length
            };

            var enumerable = FileTools.ReadFileByDynamicParts(nameOfCompressedFile, dynamicPartConfiguration);

            using var enumerator = enumerable.GetEnumerator();
            while (enumerator.MoveNext())
            {
                var lengthBytes  = enumerator.Current;
                var lengthOfPart = BitConverter.ToInt32(lengthBytes, 0);
                dynamicPartConfiguration.PartSize = lengthOfPart;

                enumerator.MoveNext();
                var compressed   = enumerator.Current;
                var decompressed = compressed.DecompressPart();
                dynamicPartConfiguration.PartSize = lengthBytes.Length;

                yield return(decompressed);
            }
        }
Exemplo n.º 3
0
 public IEnumerable <byte[]> ReadFileByDynamicParts(DynamicPartConfiguration dynamicPart)
 {
     throw new System.NotImplementedException();
 }