pub trait LockRead: AsOpenFile + AsyncRead {
// Required methods
fn lock_read<'async_trait>(
self,
) -> Pin<Box<dyn Future<Output = LockReadResult<Self>> + Send + 'async_trait>>
where Self: Sized + 'async_trait;
fn try_lock_read<'async_trait>(
self,
) -> Pin<Box<dyn Future<Output = LockReadResult<Self>> + Send + 'async_trait>>
where Self: Sized + 'async_trait;
}