eden/fs/store/LocalStore.cpp
// TODO(mbolin): Currently, all objects in our RocksDB are Git objects. We
// probably want to namespace these by column family going forward, at which
// point we might want to have a GitLocalStore that delegates to an
// LocalStore so a vanilla LocalStore has no knowledge of deserializeGitTree()
// or deserializeGitBlob().
Currently, all objects in our RocksDB are Git objects. We
probably want to namespace these by column family going forward, at which
point we might want to have a GitLocalStore that delegates to an
LocalStore so a vanilla LocalStore has no knowledge of deserializeGitTree()
or deserializeGitBlob().
Currently all objects in our RocksDB are Git objects . We probably want to namespace these by column family going forward at which point we might want to have a GitLocalStore that delegates to an LocalStore so a vanilla LocalStore has no knowledge of deserializeGitTree () or deserializeGitBlob () .
folly::Future<std::unique_ptr<Tree>> LocalStore::getTree(const Hash& id) const {
  return getFuture(KeySpace::TreeFamily, id.getBytes())
      .thenValue([id](StoreResult&& data) {
        if (!data.isValid()) {
          return std::unique_ptr<Tree>(nullptr);
        }
        return deserializeGitTree(id, data.bytes());
      });
}
folly :: Future < std :: unique_ptr < Tree > > LocalStore :: getTree ( const Hash & id ) const { return getFuture ( KeySpace :: TreeFamily , id . getBytes ( ) ) . thenValue ( [ id ] ( StoreResult && data ) { if ( ! data . isValid ( ) ) { return std :: unique_ptr < Tree > ( nullptr ) ; } return deserializeGitTree ( id , data . bytes ( ) ) ; } ) ; }
TODO(mbolin): Currently, all objects in our RocksDB are Git objects.
TODO ( mbolin ) : Currently all objects in our RocksDB are Git objects .