Significant changes to data resource management
- Add transferor_registry class to manage resource transfer functions - First implementation of 'local path' to 'local path' transferor using fadvice+fallocate+sendfile. - Add stubs for other converters - Move dispatch_table from api to common since it's now also used by transferor_registry. - Add get() function to dispatch_table class so that stored functors can be retrieved. - Generic implementation of task::operator()() to transfer resources and resource elements between different backends. When constructed, the task is provided with the input and ouput resources as well as a 'transferor' functor that is invoked upon them to perform the actual transfer. - Add new_resource() and get_resource() methods to backends to promote resource_info instances to fully qualified resources. - Implementation of new_resource() and get_resource() for a POSIX filesystem. Stubs for other backends. - New convenience library that aggregates all symbols for resources - Add name() and is_collection() methods to class resource_info. - Provide implementation for boost::filesystem::relative() in utils.cpp if boost version <= 1.6.0 - Remove resource::buffer, no longer needed (superseeded by transferors). - Remove resource::stream, no longer needed (superseeded by transferors). - Remove functions resource::info(), resource::backend(), and resource::set_backend(). - Reorganize resources build hierarchy - Remove self-registration of backends - Update tests - Cleanup unused code
parent
65b151ed
Please register or sign in to comment