コード例 #1
0
        public async Task <ArraySegment <byte> > SerializeCompressEncryptAsync <TIn>(TIn input)
        {
            var memoryStream = new MemoryStream();
            await _serializationProvider
            .SerializeAsync(memoryStream, input)
            .ConfigureAwait(false);

            memoryStream.Seek(0, SeekOrigin.Begin);

            memoryStream = await _compressionProvider
                           .CompressAsync(memoryStream)
                           .ConfigureAwait(false);

            memoryStream.Seek(0, SeekOrigin.Begin);

            memoryStream = await _encryptionProvider
                           .EncryptAsync(memoryStream)
                           .ConfigureAwait(false);

            memoryStream.Seek(0, SeekOrigin.Begin);

            if (memoryStream.TryGetBuffer(out var buffer))
            {
                return(buffer);
            }
            else
            {
                return(memoryStream.ToArray());
            }
        }
コード例 #2
0
        public async Task CompressAsync()
        {
            var compressedData = (await _provider.CompressAsync(_data)).ToArray();

            Assert.NotNull(compressedData);
            Assert.NotEqual(compressedData.Length, _data.Length);
            Assert.True(compressedData.Length < _data.Length);
        }
コード例 #3
0
ファイル: CompressionTests.cs プロジェクト: lsfera/Tesseract
        public async Task Gzip_Compress_Async()
        {
            var compressed = await _gzipProvider.CompressAsync(_compressableData);

            Assert.NotNull(compressed);
            Assert.NotEqual(compressed.Length, _compressableData.Length);
            Assert.True(compressed.Length < _compressableData.Length);
        }
コード例 #4
0
 public async Task Compress5KBytesAsync()
 {
     await CompressionProvider.CompressAsync(Payload1);
 }