From 27d9e5c8f2d25e41578308c7ea62b07877f18923 Mon Sep 17 00:00:00 2001 From: vms Date: Wed, 1 Jul 2020 18:54:26 +0300 Subject: [PATCH] add configurable timeout to ipfs commands --- examples/ipfs_node/Config.toml | 2 +- .../artifacts/wasm_modules/ipfs_node.wasm | Bin 135797 -> 137636 bytes examples/ipfs_node/wasm/ipfs_node/src/main.rs | 10 ++++++++-- examples/ipfs_node/wasm/ipfs_node/src/path.rs | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/examples/ipfs_node/Config.toml b/examples/ipfs_node/Config.toml index 360b739c..8d6aa637 100644 --- a/examples/ipfs_node/Config.toml +++ b/examples/ipfs_node/Config.toml @@ -10,7 +10,7 @@ core_modules_dir = "wasm/artifacts/wasm_modules" ipfs = "/usr/local/bin/ipfs" [core_module.wasi] - envs = ["IPFS_ADDR=/dns4/relay02.fluence.dev/tcp/15001"] + envs = ["IPFS_ADDR=/dns4/relay02.fluence.dev/tcp/15001", "timeout=1s"] preopened_files = ["./wasm/artifacts"] mapped_dirs = { "tmp" = "./wasm/artifacts" } diff --git a/examples/ipfs_node/wasm/artifacts/wasm_modules/ipfs_node.wasm b/examples/ipfs_node/wasm/artifacts/wasm_modules/ipfs_node.wasm index 6028f984525a08ad7c0e8307c74426da4f0614b9..91747eea7ca19b21b2e7fc40cb7399bd28c17550 100644 GIT binary patch delta 28224 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 delta 26228 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 A)&Kwi diff --git a/examples/ipfs_node/wasm/ipfs_node/src/main.rs b/examples/ipfs_node/wasm/ipfs_node/src/main.rs index bc421c1d..53672827 100644 --- a/examples/ipfs_node/wasm/ipfs_node/src/main.rs +++ b/examples/ipfs_node/wasm/ipfs_node/src/main.rs @@ -25,6 +25,7 @@ use crate::path::to_full_path; const RESULT_FILE_PATH: &str = "/tmp/ipfs_rpc_file"; const IPFS_ADDR_ENV_NAME: &str = "IPFS_ADDR"; +const TIMEOUT_ENV_NAME: &str = "timeout"; pub fn main() { let msg = "ipfs_node.main: WASI initialization finished"; @@ -42,7 +43,8 @@ pub unsafe fn put(file_path_ptr: *mut u8, file_path_size: usize) { let file_path = to_full_path(file_path); - let cmd = format!("add -Q {}", file_path); + let timeout = std::env::var(TIMEOUT_ENV_NAME).unwrap_or_else(|_| "1s".to_string()); + let cmd = format!("add --timeout {} -Q {}", timeout, file_path); let result = ipfs(cmd.as_ptr() as _, cmd.len() as _); let hash = if result == 0 { @@ -72,7 +74,11 @@ pub unsafe fn get(hash_ptr: *mut u8, hash_size: usize) { let result_file_path = to_full_path(RESULT_FILE_PATH); - let cmd = format!("get -o {} {}", result_file_path, hash); + let timeout = std::env::var(TIMEOUT_ENV_NAME).unwrap_or_else(|_| "1s".to_string()); + let cmd = format!( + "get --timeout {} -o {} {}", + timeout, result_file_path, hash + ); let _result = ipfs(cmd.as_ptr() as _, cmd.len() as _); let _output = String::from_raw_parts( diff --git a/examples/ipfs_node/wasm/ipfs_node/src/path.rs b/examples/ipfs_node/wasm/ipfs_node/src/path.rs index fcecf042..60453c25 100644 --- a/examples/ipfs_node/wasm/ipfs_node/src/path.rs +++ b/examples/ipfs_node/wasm/ipfs_node/src/path.rs @@ -41,6 +41,7 @@ where let mut full_path = std::path::PathBuf::from(to_dir); // TODO: optimize this + #[warn(clippy::while_let_on_iterator)] while let Some(component) = components.next() { full_path.push(component); }