Skip to content

Commit 9de72e7

Browse files
committed
Desugar async fn to add trait bounds.
1 parent 3643a0e commit 9de72e7

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/async_reader.rs

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -215,16 +215,25 @@ impl<B: AsyncBackend + Sync + Send, C: DirectoryCache + Sync + Send> AsyncPmTile
215215

216216
pub trait AsyncBackend {
217217
/// Reads exactly `length` bytes starting at `offset`
218-
async fn read_exact(&self, offset: usize, length: usize) -> PmtResult<Bytes> {
219-
let data = self.read(offset, length).await?;
220-
221-
if data.len() == length {
222-
Ok(data)
223-
} else {
224-
Err(PmtError::UnexpectedNumberOfBytesReturned(
225-
length,
226-
data.len(),
227-
))
218+
fn read_exact(
219+
&self,
220+
offset: usize,
221+
length: usize,
222+
) -> impl Future<Output = PmtResult<Bytes>> + Send
223+
where
224+
Self: Sync,
225+
{
226+
async move {
227+
let data = self.read(offset, length).await?;
228+
229+
if data.len() == length {
230+
Ok(data)
231+
} else {
232+
Err(PmtError::UnexpectedNumberOfBytesReturned(
233+
length,
234+
data.len(),
235+
))
236+
}
228237
}
229238
}
230239

0 commit comments

Comments
 (0)