- return updateByPath(name, data, path);
-}
-
-std::string FileCache::getPathFromChecksum(const std::string &name,
- const std::string &checksum)
-{
- std::string checksum_hex = hex_encode(checksum.c_str(), checksum.length());
- size_t dot = name.find_last_of('.');;
- std::string ext = (dot == std::string::npos)? "" :
- name.substr(dot, std::string::npos);
- return m_dir + DIR_DELIM + checksum_hex + ext;
-}
-
-bool FileCache::loadByChecksum(const std::string &name, std::ostream &os,
- const std::string &checksum)
-{
- std::string path = getPathFromChecksum(name, checksum);
- return loadByPath(name, os, path);
-}
-
-bool FileCache::updateByChecksum(const std::string &name,
- const std::string &data, const std::string &checksum)
-{
- std::string path = getPathFromChecksum(name, checksum);
- return updateByPath(name, data, path);