use libp2p::futures::StreamExt;
use tracing::error;
mod handle_shoji_command;
mod handle_swarm_event;
use crate::Satellite;
impl Satellite {
pub async fn run(mut self) -> ! {
loop {
tokio::select! {
Some(event) = self.swarm.0.next() => {
if let Err(e) = self.handle_swarm_event(event) {
error!("Handling swarm events failed: {}", e);
}
}
Some(command) = self.shoji_command_reciever.recv() => {
if let Err(e) = self.handle_shoji_command(command) {
error!("Handling shoji's commands failed: {}", e);
}
}
}
}
}
}