hpcc-systems/HPCC-Platform — pull request #1039 by rengolin (2011-11-21 10:05:55+00:00)
Title: Remove CFileClusterOwner to reduce DFS complexity

The only thin it does is to merge CFileClusterOwner into CDistributedFile to avoid yet another (here useless) hop into the policy inheritance.

Things to note:

* CFileClusterOwner is the "cluster policy behaviour" for Distributed File. Normally, one uses policy to be able to use multiple classes as implementation (fancy pImpl idiom), but in this case that's not exactly what's going on. The code is *only* avoiding the problems of multiple inheritance, by making the inheritance weird and misaligned.
* The methods in this class are part of IDistributedFile interface and are also implemented by CDistributedSuperFile. However, they are very different and I couldn't find an obvious commonality. This is why I'm not merging them into CDistributedFileBase (and why it was not there in the first place).
* CDistributedFile is already huge, adding a few hundred or so lines more won't kill it dead more than it already is.