Example #1
0
 /// <summary>
 /// compressing data with GZip
 /// </summary>
 /// <param name="dataBlock">original data</param>
 /// <returns>compressed data</returns>
 public Block Work(Block dataBlock)
 {
     if (dataBlock == null)
     {
         throw new ArgumentNullException("input data is null");
     }
     dataBlock.Data = GZip.Compress(dataBlock.Data);
     return(dataBlock);
 }
Example #2
0
        public void Handler(ref TaskPool readerTaskPool, ref TaskPool writerTaskPool)
        {
            int blockNumber = -1;

            byte[] blockValue = null;

            while (true)
            {
                try
                {
                    if (!readerTaskPool.TryGet(out blockNumber, out blockValue))
                    {
                        return;
                    }

                    if (blockValue == null)
                    {
                        break;
                    }

                    byte[] compressedBlock = GZip.Compress(blockValue);

                    if (!writerTaskPool.TrySet(blockNumber, compressedBlock))
                    {
                        return;
                    }
                }
                catch (Exception e)
                {
                    _isDelete = true;
                    Terminate();
                    Console.WriteLine(e.Message);
                    return;
                }
            }
        }