refactor(tvix/store): Asyncify PathInfoService and DirectoryService
We've decided to asyncify all of the services to reduce some of the pains going back and for between sync<->async. The end goal will be for all the tvix-store internals to be async and then expose a sync interface for things like tvix eval io. Change-Id: I97c71f8db1d05a38bd8f625df5087d565705d52d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9369 Autosubmit: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
7e737fde34
commit
37a348b4fa
24 changed files with 764 additions and 715 deletions
|
|
@ -229,11 +229,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||
// Ask the PathInfoService for the NAR size and sha256
|
||||
let root_node_copy = root_node.clone();
|
||||
let path_info_service_clone = path_info_service.clone();
|
||||
let (nar_size, nar_sha256) = tokio::task::spawn_blocking(move || {
|
||||
path_info_service_clone.calculate_nar(&root_node_copy)
|
||||
})
|
||||
.await
|
||||
.unwrap()?;
|
||||
let (nar_size, nar_sha256) = path_info_service_clone
|
||||
.calculate_nar(&root_node_copy)
|
||||
.await?;
|
||||
|
||||
// TODO: make a path_to_name helper function?
|
||||
let name = path
|
||||
|
|
@ -265,10 +263,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||
|
||||
// put into [PathInfoService], and return the PathInfo that we get back
|
||||
// from there (it might contain additional signatures).
|
||||
let path_info =
|
||||
tokio::task::spawn_blocking(move || path_info_service.put(path_info))
|
||||
.await
|
||||
.unwrap()?;
|
||||
let path_info = path_info_service.put(path_info).await?;
|
||||
|
||||
let node = path_info.node.unwrap().node.unwrap();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue