cvmfs/cvmfs — pull request #47 by reneme (2012-12-20 15:02:30+00:00)
Title: Concurrent Local Backend Using the new Utility Classes

**Note:** This Pull Request also contains the patches of my previous [Pull Request](https://github.com/cvmfs/cvmfs/pull/46). You might want to merge the other one first, since the code in this patch builds on top of it.

----

This contains the replacement of the old backend storage spooler with the new version, built on top of the `ConcurrentWorkers` template submitted [here](https://github.com/cvmfs/cvmfs/pull/46). Speaking about backend spooler I mean the local repository backend, as long as this Pull Request is concerned.

While the internal procedures are still the same, the structure of the code changed substantially. Compression and Hashing of files is now implemented as a `ConcurrentWorker` class which is used by the `ConcurrentWorkers` template to spread the work over all available CPU cores.
Additionally the actual spooler implementation is not forked into a child process anymore, obsoleting the named-pipe descriptions in the spooler definition strings. Currently `cvmfs_server` still provides the pathes to these pipes. I am not sure, if we could simply drop them, or if this might break something.

Additionally this patch contains outlets for easy integration of the future Riak backend driver. These are currently commented out of the code so that it should work as expected.