added a FIFO channel template implementation
integrated new FifoChannel
FIX: race condition for processing of last queue element
running a callback thread
replaced Job hierarchy by template
added a prefill capability to the FIFO channel
Merge branch 'master' into callback_thread
hiding cvmfs_server command 'skeleton' now understands -o to provide an owner
magic number tuning
Refactoring of FileProcessor: striving to higher information hiding
Merge branch 'master' into callback_thread
get rid of debug compile options in CMakeLists.txt|
fixed a potential race condition in FileProcessor when using asynchronous upload modules (DisablePrecaching in upload module before waiting for processing to finish) --> premature optimization is the root of all evil
Merge branch 'master' into callback_thread
move responsibility to remove temporary files to FileProcessor (away from Uploader implementations
Merge pull request #106 from reneme/callback_thread

Using an additional thread for concurrent callback handling



This introduces some tweaks in the ConcurrentWorkers template. The callback invocation for finished jobs is now queued and processed in an extra thread. This essentially decouples catalog updates entirely from the worker threads (compression, hashing, chunking).

A quick and dirty benchmark with 30.000 small files (~4kB) shows that the speedup compared to version 2.1.6 is about 25% (on a 4 core ibex node) and 40% with the tunings included in this pull request.

Additionally I refactored the FileProcessor for higher decoupling and information hiding.