コード例 #1
0
        public MetaBlock?NextMetaBlock()
        {
            if (transformedQueue.Count == 0)
            {
                transformedState = original.State; // update state to match start of the next meta-block

                var metaBlock = original.NextMetaBlock();

                if (metaBlock != null)
                {
                    var(transformedMetaBlocks, newTransformedState) = BrotliEncodePipeline.ApplyTransformerChain(transformedState, metaBlock, compressionParameters, transformers);

                    foreach (var transformedMetaBlock in transformedMetaBlocks)
                    {
                        transformedQueue.Enqueue(transformedMetaBlock);
                    }

                    transformedState = newTransformedState;
                }
            }

            return(transformedQueue.TryDequeue(out var next) ? next : null);
        }
コード例 #2
0
 private void OpenFileWithPipeline(BrotliDictionary dictionary, BrotliEncodePipeline pipeline)
 {
     OpenFileWith("Open File to Encode", fileName => fileGenerated.EncodeFile(fileName, pipeline, dictionary));
 }