MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / parse_api_socket

Function parse_api_socket

cloud-hypervisor/src/main.rs:479–503  ·  view source on GitHub ↗
(cmd_arguments: &ArgMatches)

Source from the content-addressed store, hash-verified

477}
478
479fn parse_api_socket(cmd_arguments: &ArgMatches) -> Result<(Option<String>, Option<RawFd>), Error> {
480 if let Some(socket_config) = cmd_arguments.get_one::<String>("api-socket") {
481 let mut parser = OptionParser::new();
482 parser.add("path").add("fd");
483 parser.parse(socket_config).unwrap_or_default();
484
485 if let Some(fd) = parser.get("fd") {
486 Ok((
487 None,
488 Some(fd.parse::<RawFd>().map_err(Error::ParsingApiSocket)?),
489 ))
490 } else if let Some(path) = parser.get("path") {
491 Ok((Some(path), None))
492 } else {
493 Ok((
494 cmd_arguments
495 .get_one::<String>("api-socket")
496 .map(|s| s.to_string()),
497 None,
498 ))
499 }
500 } else {
501 Ok((None, None))
502 }
503}
504
505fn start_vmm(
506 cmd_arguments: &ArgMatches,

Callers 1

mainFunction · 0.85

Calls 5

newFunction · 0.85
addMethod · 0.80
parseMethod · 0.45
getMethod · 0.45
mapMethod · 0.45

Tested by

no test coverage detected