pub mod file;
use std::future::Future;
use tokio::io::AsyncRead;
pub trait DataSource<K: ?Sized>: Send + Sync {
type Err: Send;
type Reader: AsyncRead + Unpin + Send;
fn get<Q: ?Sized + Sync + AsRef<K>>(
&self,
k: &Q,
) -> impl Send + Future<Output = Result<Self::Reader, Self::Err>>;
}