mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 21:21:32 +00:00
krata: begin work on idm channel
This commit is contained in:
@ -1,19 +1,23 @@
|
||||
use anyhow::Result;
|
||||
use env_logger::Env;
|
||||
use kratart::chan::KrataChannelService;
|
||||
use xenevtchn::EventChannel;
|
||||
use xengnt::GrantTab;
|
||||
use xenstore::XsdClient;
|
||||
use kratart::channel::ChannelService;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
env_logger::Builder::from_env(Env::default().default_filter_or("info")).init();
|
||||
|
||||
let mut krata = KrataChannelService::new(
|
||||
EventChannel::open().await?,
|
||||
XsdClient::open().await?,
|
||||
GrantTab::open()?,
|
||||
)?;
|
||||
krata.watch().await?;
|
||||
let (service, mut receiver) = ChannelService::new("krata-channel".to_string()).await?;
|
||||
let task = service.launch().await?;
|
||||
|
||||
loop {
|
||||
let Some((id, data)) = receiver.recv().await else {
|
||||
break;
|
||||
};
|
||||
|
||||
println!("domain {} = {:?}", id, data);
|
||||
}
|
||||
|
||||
task.abort();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user