use crate::pixmap::SharedPixmap;
use crate::DaemonResult;
use async_trait::async_trait;
use tokio::task::{AbortHandle, JoinSet};
#[async_trait]
pub trait GenServer {
type Options;
fn new(options: Self::Options) -> Self;
async fn start(
self,
pixmap: SharedPixmap,
join_set: &mut JoinSet<DaemonResult>,
) -> anyhow::Result<AbortHandle>;
}