Fetch CAS blobs over Iroh
This commit is contained in:
parent
d5a548182b
commit
e4b788fec2
10 changed files with 425 additions and 19 deletions
|
|
@ -223,6 +223,10 @@ pub enum CasCommand {
|
|||
#[arg(long)]
|
||||
out: PathBuf,
|
||||
},
|
||||
Fetch {
|
||||
node: String,
|
||||
hash: String,
|
||||
},
|
||||
Hash {
|
||||
path: PathBuf,
|
||||
},
|
||||
|
|
@ -548,6 +552,10 @@ fn request_for_command(command: Command) -> Result<ControlRequest> {
|
|||
hash: hash.into(),
|
||||
out,
|
||||
},
|
||||
CasCommand::Fetch { node, hash } => ControlRequest::CasFetch {
|
||||
node,
|
||||
hash: hash.into(),
|
||||
},
|
||||
CasCommand::Hash { path } => ControlRequest::CasHash { path },
|
||||
CasCommand::Has { hash } => ControlRequest::CasHas { hash: hash.into() },
|
||||
CasCommand::Pin { hash } => ControlRequest::CasPin { hash: hash.into() },
|
||||
|
|
@ -879,6 +887,27 @@ fn print_response(response: ControlResponse, json: bool) -> Result<()> {
|
|||
} => {
|
||||
println!("wrote {hash} to {} ({size_bytes} bytes)", out.display());
|
||||
}
|
||||
ControlResponse::CasFetched {
|
||||
peer_node_id,
|
||||
peer_agent_id,
|
||||
endpoint_id,
|
||||
hash,
|
||||
size_bytes,
|
||||
allowed,
|
||||
reason,
|
||||
note,
|
||||
} => {
|
||||
if allowed {
|
||||
println!("fetched {hash} from {peer_node_id} ({size_bytes} bytes)");
|
||||
} else {
|
||||
println!("fetch denied for {hash} from {peer_node_id}");
|
||||
}
|
||||
println!("agent: {peer_agent_id}");
|
||||
println!("endpoint: {endpoint_id}");
|
||||
println!("allowed: {allowed}");
|
||||
println!("reason: {reason}");
|
||||
println!("note: {note}");
|
||||
}
|
||||
ControlResponse::CasHash { hash } => println!("{hash}"),
|
||||
ControlResponse::CasHas { hash, present } => println!("{hash}: {present}"),
|
||||
ControlResponse::CasPinned { hash, pinned } => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue