MCPcopy Index your code
hub / github.com/cloud-hypervisor/cloud-hypervisor / parse

Method parse

vhost_user_block/src/lib.rs:469–516  ·  view source on GitHub ↗
(backend: &str)

Source from the content-addressed store, hash-verified

467
468impl VhostUserBlkBackendConfig {
469 fn parse(backend: &str) -> Result<Self> {
470 let mut parser = OptionParser::new();
471 parser
472 .add("path")
473 .add("readonly")
474 .add("direct")
475 .add("num_queues")
476 .add("queue_size")
477 .add("socket")
478 .add("poll_queue");
479 parser.parse(backend).map_err(Error::FailedConfigParse)?;
480
481 let path = parser.get("path").ok_or(Error::PathParameterMissing)?;
482 let readonly = parser
483 .convert::<Toggle>("readonly")
484 .map_err(Error::FailedConfigParse)?
485 .unwrap_or(Toggle(false))
486 .0;
487 let direct = parser
488 .convert::<Toggle>("direct")
489 .map_err(Error::FailedConfigParse)?
490 .unwrap_or(Toggle(false))
491 .0;
492 let num_queues = parser
493 .convert("num_queues")
494 .map_err(Error::FailedConfigParse)?
495 .unwrap_or(1);
496 let socket = parser.get("socket").ok_or(Error::SocketParameterMissing)?;
497 let poll_queue = parser
498 .convert::<Toggle>("poll_queue")
499 .map_err(Error::FailedConfigParse)?
500 .unwrap_or(Toggle(true))
501 .0;
502 let queue_size = parser
503 .convert("queue_size")
504 .map_err(Error::FailedConfigParse)?
505 .unwrap_or(1024);
506
507 Ok(VhostUserBlkBackendConfig {
508 path,
509 socket,
510 num_queues,
511 queue_size,
512 readonly,
513 direct,
514 poll_queue,
515 })
516 }
517}
518
519pub fn start_block_backend(backend_command: &str) {

Callers

nothing calls this directly

Calls 5

newFunction · 0.85
ToggleClass · 0.85
addMethod · 0.80
convertMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected