Module libvirt_rpc::async [] [src]

This module provides tokio based async interface to libvirt API

Examples

Connect to local libvirtd and get list of domains

extern crate tokio_core;
extern crate libvirt_rpc;
extern crate futures;

use ::tokio_core::reactor::Core;
use libvirt_rpc::async::Client;
use libvirt_rpc::request;
use futures::Future;

fn main() {
    let mut core = Core::new().unwrap();
    let handle = core.handle(); 
    let client = Client::connect("/var/run/libvirt/libvirt-sock", &handle).unwrap();
    let result = core.run({
        client.auth()
          .and_then(|_| client.open())
          .and_then(|_| client.domain().list(request::ListAllDomainsFlags::DOMAINS_ACTIVE | request::ListAllDomainsFlags::DOMAINS_INACTIVE))
    }).unwrap();
    println!("{:?}", result);
}

Structs

Client

Libvirt client

DomainOperations

Operations on libvirt domains

EventStream
LibvirtSink
LibvirtStream
PoolOperations

Operations on libvirt storage pools

VolumeOperations

Operations on libvirt storage volumes

Type Definitions

LibvirtFuture