2023-07-21 12:43:39 +00:00
|
|
|
use std::{fs, io, path, pin};
|
2023-06-14 18:22:10 +00:00
|
|
|
|
|
|
|
pub fn open_file(path: &path::Path) -> io::Result<Option<fs::File>> {
|
|
|
|
match fs::File::open(path) {
|
|
|
|
Ok(file) => Ok(Some(file)),
|
|
|
|
Err(err) => match err.kind() {
|
|
|
|
io::ErrorKind::NotFound => Ok(None),
|
|
|
|
_ => Err(err),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
2023-06-19 18:56:14 +00:00
|
|
|
|
2023-07-31 18:46:54 +00:00
|
|
|
pub type BoxByteStream = futures::stream::BoxStream<'static, io::Result<bytes::Bytes>>;
|
2023-07-08 13:19:31 +00:00
|
|
|
|
|
|
|
pub type BoxFuture<'a, O> = pin::Pin<Box<dyn futures::Future<Output = O> + Send + 'a>>;
|