Luke-Jr, thanks for the patch.
Assuming it is bug free (which I'm not sure... does it mutex the reads of shared data like nPooledTx?) my concern is code bloat for a feature with a dozen(?) potential users. Not to say the code base isn't currently bloated,
but now seems a good time to mention refactoring options.
Imagine compile-time options similar to -DUSE_UPNP and -DGUI controlling inclusion of esoteric features. (I note that optional features should in no way affect the validation rules, since we want everyone to agree on those.) Luke's features, and probably over half the existing RPC cruft, could go in a separate file, ideally behind a module interface such as VinceD's hooks. Imagine "extensions.cpp" defining CExtension extensions[], each element's existence controlled by an #ifdef, and each CExtension implementing a bunch of hooks, one of which the RPC table constructor would call and allow to insert methods.
Anyone?