/// <summary>Finishing up the current block.</summary> /// <exception cref="System.IO.IOException"/> public void Finish() { try { if (@out != null) { @out.Flush(); @out = null; } } finally { compressAlgo.ReturnCompressor(compressor); compressor = null; } }
/// <param name="compressionAlgo">The compression algorithm to be used to for compression. /// </param> /// <exception cref="System.IO.IOException"/> public WBlockState(Compression.Algorithm compressionAlgo, FSDataOutputStream fsOut , BytesWritable fsOutputBuffer, Configuration conf) { // !null only if using native // Hadoop compression this.compressAlgo = compressionAlgo; this.fsOut = fsOut; this.posStart = fsOut.GetPos(); fsOutputBuffer.Capacity = TFile.GetFSOutputBufferSize(conf); this.fsBufferedOutput = new SimpleBufferedOutputStream(this.fsOut, fsOutputBuffer .Bytes); this.compressor = compressAlgo.GetCompressor(); try { this.@out = compressionAlgo.CreateCompressionStream(fsBufferedOutput, compressor, 0); } catch (IOException e) { compressAlgo.ReturnCompressor(compressor); throw; } }