I require [login to view URL] compression library written in 100% managed (C#) code that implements multiple compression and decompression algorithms.
The library should take the form of a single assembly DLL that can be either installed in the GAC or copied into the bin directory of any .NET application.
VERY IMPORTANT:
**The code must be totally thread safe and be suitable for very heavy ASP.NET usage. The code should scale well on multiprocessor computers. The code must be 100% original (no copied GPL code please) and VERY efficient on both memory and CPU.**
The code must be heavily commented using C# XML comments.
Each algorithm should contain Inflate/Decompress and Deflate/Compress methods (preferably static) which are fully overloaded to accept (in and out)
1. strings
2. byte arrays
3. streams
4. file path and names
The library should provide chunked stream based compression/decompression (e.g. to MemoryStream or FileStream) as well as complete in-memory compression/decompression options.
The library should include the ability (optionally) to include reversible encryption when compression/decompressing content (based on various .NET crypto providers).
The required compression algorithms will include:
zip, gzip, bzip, BZip2, zlib, deflate and many others.
The coder should include various test programs (C# windows forms and console apps) that excercise the library and prove thread safety and efficiency.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
4) Test cases and test programs that clearly demonstrate that the code is thread safe and is stable under extreme usage with no memory leaks of lock-ups.
## Platform
Must be Microsoft .NET compliant and written in 100% managed C# (no external COM or C DLL's, no pinvoke, no interop calls).
Must run on all .NET platforms including Windows 2003 Server on multiprocessor servers.