Beispiel #1
0
        public void DecorateByArgumentOptions(List <ArgumentOption> argumentOptions, ref IInputStream inputStream, ref IOutputStream outputStream)
        {
            if (argumentOptions.Count == 0)
            {
                return;
            }

            foreach (ArgumentOption argumentOption in argumentOptions)
            {
                switch (argumentOption.FirstArgument)
                {
                case "--encrypt":
                    outputStream = new EncodingOutputStream(outputStream, argumentOption.SecondArgument.Value);
                    break;

                case "--decrypt":
                    inputStream = new DecodingInputStream(inputStream, argumentOption.SecondArgument.Value);
                    break;

                case "--compress":
                    outputStream = new CompressionOutputStream(outputStream);
                    break;

                case "--decompress":
                    inputStream = new DecompressionInputStream(inputStream);
                    break;

                default:
                    break;
                }
            }
        }
Beispiel #2
0
            /// <exception cref="System.IO.IOException"/>
            public override void Flush()
            {
                CompressionOutputStream cout = (CompressionOutputStream)@out;

                cout.Finish();
                cout.Flush();
                cout.ResetState();
            }
Beispiel #3
0
            /// <exception cref="System.IO.IOException"/>
            public override CompressionOutputStream CreateOutputStream(OutputStream @out)
            {
                CompressionOutputStream ret = base.CreateOutputStream(@out);
                CompressionOutputStream spy = Org.Mockito.Mockito.Spy(ret);

                Org.Mockito.Mockito.DoAnswer(new GenericTestUtils.SleepAnswer(5)).When(spy).Write
                    (Org.Mockito.Mockito.Any <byte[]>(), Org.Mockito.Mockito.AnyInt(), Org.Mockito.Mockito
                    .AnyInt());
                return(spy);
            }
        public void WriteBlock_WriteManyEqualsBytes_WriteCompressed()
        {
            // Arrange
            var           result = new byte[6];
            IOutputStream compressionOutputStream = new CompressionOutputStream(new MemoryOutputStream(result));
            var           inputData    = new byte[] { 1, 1, 1, 1, 2, 2, 2, 2, 2 };
            var           expectedData = new byte[] { 255, 0, 1, 255, 1, 2 };

            // Act
            compressionOutputStream.WriteBlock(inputData, ( uint )inputData.Length);
            compressionOutputStream.Dispose();

            // Assert
            Assert.True(result.SequenceEqual(expectedData));
        }
        public void WriteByte_WriteManyEqualsBytes_WriteCompressed()
        {
            // Arrange
            var           result = new byte[3];
            IOutputStream compressionOutputStream = new CompressionOutputStream(new MemoryOutputStream(result));
            var           expectedData            = new byte[] { 255, 6, 1 };

            // Act
            for (int i = 0; i < 10; i++)
            {
                compressionOutputStream.WriteByte(1);
            }
            compressionOutputStream.Dispose();

            // Assert
            Assert.True(result.SequenceEqual(expectedData));
        }
        public void WriteByte_WriteEqualBytesMoreThanCompressionLength_WriteCompressed()
        {
            // Arrange
            var           result = new byte[6];
            IOutputStream compressionOutputStream = new CompressionOutputStream(new MemoryOutputStream(result));
            var           expectedData            = new byte[] { 255, 254, 1, 255, 38, 1 };

            // Act
            for (int i = 0; i < 300; i++)
            {
                compressionOutputStream.WriteByte(1);
            }
            compressionOutputStream.Dispose();

            // Assert
            Assert.True(result.SequenceEqual(expectedData));
        }
        public void WriteByte_WriteManyNotEqualsBytes_WriteUncompressed()
        {
            // Arrange
            var           result = new byte[6];
            IOutputStream compressionOutputStream = new CompressionOutputStream(new MemoryOutputStream(result));
            var           expectedData            = new byte[] { 0, 1, 2, 3, 4, 5 };

            // Act
            for (int i = 0; i < 6; i++)
            {
                compressionOutputStream.WriteByte(( byte )i);
            }
            compressionOutputStream.Dispose();

            // Assert
            Assert.True(result.SequenceEqual(expectedData));
        }
Beispiel #8
0
 /// <exception cref="System.IO.IOException"/>
 public Writer(Configuration conf, FSDataOutputStream @out, Type keyClass, Type valueClass
               , CompressionCodec codec, Counters.Counter writesCounter, bool ownOutputStream)
 {
     this.writtenRecordsCounter = writesCounter;
     this.checksumOut           = new IFileOutputStream(@out);
     this.rawOut = @out;
     this.start  = this.rawOut.GetPos();
     if (codec != null)
     {
         this.compressor = CodecPool.GetCompressor(codec);
         if (this.compressor != null)
         {
             this.compressor.Reset();
             this.compressedOut  = codec.CreateOutputStream(checksumOut, compressor);
             this.@out           = new FSDataOutputStream(this.compressedOut, null);
             this.compressOutput = true;
         }
         else
         {
             Log.Warn("Could not obtain compressor from CodecPool");
             this.@out = new FSDataOutputStream(checksumOut, null);
         }
     }
     else
     {
         this.@out = new FSDataOutputStream(checksumOut, null);
     }
     this.keyClass   = keyClass;
     this.valueClass = valueClass;
     if (keyClass != null)
     {
         SerializationFactory serializationFactory = new SerializationFactory(conf);
         this.keySerializer = serializationFactory.GetSerializer(keyClass);
         this.keySerializer.Open(buffer);
         this.valueSerializer = serializationFactory.GetSerializer(valueClass);
         this.valueSerializer.Open(buffer);
     }
     this.ownOutputStream = ownOutputStream;
 }
Beispiel #9
0
 public FinishOnFlushCompressionStream(CompressionOutputStream cout)
     : base(cout)
 {
 }