You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/11/14 16:16:33 UTC
(incubator-opendal) branch main updated: refactor(core): Rename all `Page` to `List` (#3589)
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/main by this push:
new c2040ff38 refactor(core): Rename all `Page` to `List` (#3589)
c2040ff38 is described below
commit c2040ff38c361701fb5ee1d1ca3054a8f6d252fb
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Wed Nov 15 00:16:28 2023 +0800
refactor(core): Rename all `Page` to `List` (#3589)
* Rename API to list
Signed-off-by: Xuanwo <gi...@xuanwo.io>
* Rename pager to lister
Signed-off-by: Xuanwo <gi...@xuanwo.io>
* Rename pager to lister
Signed-off-by: Xuanwo <gi...@xuanwo.io>
* Fix
Signed-off-by: Xuanwo <gi...@xuanwo.io>
* Don't touch upgrade.md
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---------
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
core/src/docs/internals/accessor.rs | 16 ++---
core/src/layers/async_backtrace.rs | 8 +--
core/src/layers/await_tree.rs | 8 +--
core/src/layers/blocking.rs | 16 ++---
core/src/layers/chaos.rs | 8 +--
core/src/layers/complete.rs | 64 +++++++++----------
core/src/layers/concurrent_limit.rs | 12 ++--
core/src/layers/error_context.rs | 18 +++---
core/src/layers/immutable_index.rs | 12 ++--
core/src/layers/logging.rs | 22 +++----
core/src/layers/madsim.rs | 12 ++--
core/src/layers/metrics.rs | 8 +--
core/src/layers/minitrace.rs | 18 +++---
core/src/layers/oteltrace.rs | 12 ++--
core/src/layers/prometheus.rs | 8 +--
core/src/layers/prometheus_client.rs | 8 +--
core/src/layers/retry.rs | 38 +++++------
core/src/layers/throttle.rs | 8 +--
core/src/layers/timeout.rs | 14 ++--
core/src/layers/tracing.rs | 12 ++--
core/src/layers/type_eraser.rs | 12 ++--
core/src/raw/accessor.rs | 28 ++++----
core/src/raw/adapters/kv/backend.rs | 24 +++----
core/src/raw/adapters/typed_kv/backend.rs | 24 +++----
core/src/raw/layer.rs | 28 ++++----
core/src/raw/oio/{page => list}/api.rs | 51 ++++++++-------
core/src/raw/oio/{page => list}/into_flat_page.rs | 74 +++++++++++-----------
.../raw/oio/{page => list}/into_hierarchy_pager.rs | 40 ++++++------
core/src/raw/oio/{page => list}/mod.rs | 14 ++--
core/src/raw/oio/mod.rs | 4 +-
core/src/raw/oio/read/api.rs | 2 +-
core/src/raw/oio/read/range_read.rs | 4 +-
core/src/services/alluxio/backend.rs | 10 +--
core/src/services/alluxio/{pager.rs => lister.rs} | 8 +--
core/src/services/alluxio/mod.rs | 2 +-
core/src/services/azblob/backend.rs | 10 +--
core/src/services/azblob/{pager.rs => lister.rs} | 6 +-
core/src/services/azblob/mod.rs | 2 +-
core/src/services/azdls/backend.rs | 10 +--
core/src/services/azdls/{pager.rs => lister.rs} | 6 +-
core/src/services/azdls/mod.rs | 2 +-
core/src/services/azfile/backend.rs | 10 +--
core/src/services/azfile/{pager.rs => lister.rs} | 6 +-
core/src/services/azfile/mod.rs | 2 +-
core/src/services/cos/backend.rs | 10 +--
core/src/services/cos/{pager.rs => lister.rs} | 6 +-
core/src/services/cos/mod.rs | 2 +-
core/src/services/dbfs/backend.rs | 10 +--
core/src/services/dbfs/{pager.rs => lister.rs} | 6 +-
core/src/services/dbfs/mod.rs | 2 +-
core/src/services/dropbox/backend.rs | 4 +-
core/src/services/fs/backend.rs | 14 ++--
core/src/services/fs/{pager.rs => lister.rs} | 8 +--
core/src/services/fs/mod.rs | 2 +-
core/src/services/ftp/backend.rs | 10 +--
core/src/services/ftp/{pager.rs => lister.rs} | 6 +-
core/src/services/ftp/mod.rs | 2 +-
core/src/services/gcs/backend.rs | 10 +--
core/src/services/gcs/{pager.rs => lister.rs} | 8 +--
core/src/services/gcs/mod.rs | 2 +-
core/src/services/gdrive/backend.rs | 10 +--
core/src/services/gdrive/{pager.rs => lister.rs} | 6 +-
core/src/services/gdrive/mod.rs | 2 +-
core/src/services/ghac/backend.rs | 4 +-
core/src/services/hdfs/backend.rs | 14 ++--
core/src/services/hdfs/{pager.rs => lister.rs} | 8 +--
core/src/services/hdfs/mod.rs | 2 +-
core/src/services/http/backend.rs | 4 +-
core/src/services/ipfs/backend.rs | 8 +--
core/src/services/ipmfs/backend.rs | 10 +--
core/src/services/ipmfs/{pager.rs => lister.rs} | 6 +-
core/src/services/ipmfs/mod.rs | 2 +-
core/src/services/obs/backend.rs | 10 +--
core/src/services/obs/{pager.rs => lister.rs} | 6 +-
core/src/services/obs/mod.rs | 2 +-
core/src/services/onedrive/backend.rs | 13 ++--
core/src/services/onedrive/{pager.rs => lister.rs} | 8 +--
core/src/services/onedrive/mod.rs | 2 +-
core/src/services/oss/backend.rs | 10 +--
core/src/services/oss/{pager.rs => lister.rs} | 6 +-
core/src/services/oss/mod.rs | 2 +-
core/src/services/s3/backend.rs | 10 +--
core/src/services/s3/{pager.rs => lister.rs} | 6 +-
core/src/services/s3/mod.rs | 2 +-
core/src/services/sftp/backend.rs | 10 +--
core/src/services/sftp/{pager.rs => lister.rs} | 8 +--
core/src/services/sftp/mod.rs | 2 +-
core/src/services/supabase/backend.rs | 6 +-
core/src/services/swift/backend.rs | 10 +--
core/src/services/swift/{pager.rs => lister.rs} | 6 +-
core/src/services/swift/mod.rs | 2 +-
core/src/services/vercel_artifacts/backend.rs | 4 +-
core/src/services/webdav/backend.rs | 12 ++--
core/src/services/webdav/{pager.rs => lister.rs} | 6 +-
core/src/services/webdav/mod.rs | 2 +-
core/src/services/webhdfs/backend.rs | 16 ++---
core/src/services/webhdfs/{pager.rs => lister.rs} | 8 +--
core/src/services/webhdfs/mod.rs | 2 +-
core/src/types/list.rs | 32 +++++-----
99 files changed, 541 insertions(+), 541 deletions(-)
diff --git a/core/src/docs/internals/accessor.rs b/core/src/docs/internals/accessor.rs
index bb3fc75b3..7cd50823b 100644
--- a/core/src/docs/internals/accessor.rs
+++ b/core/src/docs/internals/accessor.rs
@@ -29,10 +29,10 @@
//! #[async_trait]
//! // <----------Trait Bound-------------->
//! pub trait Accessor: Send + Sync + Debug + Unpin + 'static {
-//! type Reader: oio::Read; // --+
-//! type BlockingReader: oio::BlockingRead; // +--> Associated Type
-//! type Pager: oio::Page; // +
-//! type BlockingPager: oio::BlockingPage; // --+
+//! type Reader: oio::Read; // --+
+//! type BlockingReader: oio::BlockingRead; // +--> Associated Type
+//! type Lister: oio::Lister; // +
+//! type BlockingLister: oio::BlockingLister; // --+
//!
//! // APIs
//! async fn hello(&self, path: &str, args: OpCreate) -> Result<RpCreate>;
@@ -102,8 +102,8 @@
//!
//! - `Reader`: reader returned by `read` operation.
//! - `BlockingReader`: reader returned by `blocking_read` operation.
-//! - `Pager`: pager returned by `scan` or `list` operation.
-//! - `BlockingPager`: pager returned by `blocking_scan` or `blocking_list` operation.
+//! - `Lister`: lister returned by `scan` or `list` operation.
+//! - `BlockingLister`: lister returned by `blocking_scan` or `blocking_list` operation.
//!
//! Implementer of `Accessor` should take care the following things:
//!
@@ -290,8 +290,8 @@
//! type BlockingReader = ();
//! type Writer = ();
//! type BlockingWriter = ();
-//! type Pager = ();
-//! type BlockingPager = ();
+//! type Lister = ();
+//! type BlockingLister = ();
//!
//! fn metadata(&self) -> AccessorInfo {
//! let mut am = AccessorInfo::default();
diff --git a/core/src/layers/async_backtrace.rs b/core/src/layers/async_backtrace.rs
index 6fc5d3a1a..cd363432e 100644
--- a/core/src/layers/async_backtrace.rs
+++ b/core/src/layers/async_backtrace.rs
@@ -65,8 +65,8 @@ impl<A: Accessor> LayeredAccessor for AsyncBacktraceAccessor<A> {
type BlockingReader = A::BlockingReader;
type Writer = A::Writer;
type BlockingWriter = A::BlockingWriter;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -103,7 +103,7 @@ impl<A: Accessor> LayeredAccessor for AsyncBacktraceAccessor<A> {
}
#[async_backtrace::framed]
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner.list(path, args).await
}
@@ -125,7 +125,7 @@ impl<A: Accessor> LayeredAccessor for AsyncBacktraceAccessor<A> {
self.inner.blocking_write(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args)
}
}
diff --git a/core/src/layers/await_tree.rs b/core/src/layers/await_tree.rs
index dc50656f6..8d7755d2c 100644
--- a/core/src/layers/await_tree.rs
+++ b/core/src/layers/await_tree.rs
@@ -73,8 +73,8 @@ impl<A: Accessor> LayeredAccessor for AwaitTreeAccessor<A> {
type BlockingReader = A::BlockingReader;
type Writer = A::Writer;
type BlockingWriter = A::BlockingWriter;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -122,7 +122,7 @@ impl<A: Accessor> LayeredAccessor for AwaitTreeAccessor<A> {
.await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner
.list(path, args)
.instrument_await(format!("opendal::{}", Operation::List))
@@ -151,7 +151,7 @@ impl<A: Accessor> LayeredAccessor for AwaitTreeAccessor<A> {
self.inner.blocking_write(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args)
}
}
diff --git a/core/src/layers/blocking.rs b/core/src/layers/blocking.rs
index 9fbf7c006..67281ba25 100644
--- a/core/src/layers/blocking.rs
+++ b/core/src/layers/blocking.rs
@@ -177,8 +177,8 @@ impl<A: Accessor> LayeredAccessor for BlockingAccessor<A> {
type BlockingReader = BlockingWrapper<A::Reader>;
type Writer = A::Writer;
type BlockingWriter = BlockingWrapper<A::Writer>;
- type Pager = A::Pager;
- type BlockingPager = BlockingWrapper<A::Pager>;
+ type Lister = A::Lister;
+ type BlockingLister = BlockingWrapper<A::Lister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -218,7 +218,7 @@ impl<A: Accessor> LayeredAccessor for BlockingAccessor<A> {
self.inner.delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner.list(path, args).await
}
@@ -267,11 +267,11 @@ impl<A: Accessor> LayeredAccessor for BlockingAccessor<A> {
self.handle.block_on(self.inner.delete(path, args))
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.handle.block_on(async {
- let (rp, pager) = self.inner.list(path, args).await?;
- let blocking_pager = Self::BlockingPager::new(self.handle.clone(), pager);
- Ok((rp, blocking_pager))
+ let (rp, lister) = self.inner.list(path, args).await?;
+ let blocking_lister = Self::BlockingLister::new(self.handle.clone(), lister);
+ Ok((rp, blocking_lister))
})
}
}
@@ -313,7 +313,7 @@ impl<I: oio::Write + 'static> oio::BlockingWrite for BlockingWrapper<I> {
}
}
-impl<I: oio::Page> oio::BlockingPage for BlockingWrapper<I> {
+impl<I: oio::List> oio::BlockingList for BlockingWrapper<I> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.handle.block_on(self.inner.next())
}
diff --git a/core/src/layers/chaos.rs b/core/src/layers/chaos.rs
index 02d7fb9a5..08ec4dee2 100644
--- a/core/src/layers/chaos.rs
+++ b/core/src/layers/chaos.rs
@@ -106,8 +106,8 @@ impl<A: Accessor> LayeredAccessor for ChaosAccessor<A> {
type BlockingReader = ChaosReader<A::BlockingReader>;
type Writer = A::Writer;
type BlockingWriter = A::BlockingWriter;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -134,11 +134,11 @@ impl<A: Accessor> LayeredAccessor for ChaosAccessor<A> {
self.inner.blocking_write(path, args)
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner.list(path, args).await
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args)
}
}
diff --git a/core/src/layers/complete.rs b/core/src/layers/complete.rs
index 5e22c4d1a..7fd2037dc 100644
--- a/core/src/layers/complete.rs
+++ b/core/src/layers/complete.rs
@@ -28,8 +28,8 @@ use async_trait::async_trait;
use bytes::Bytes;
use crate::raw::oio::Entry;
-use crate::raw::oio::FlatPager;
-use crate::raw::oio::HierarchyPager;
+use crate::raw::oio::FlatLister;
+use crate::raw::oio::HierarchyLister;
use crate::raw::oio::RangeReader;
use crate::raw::oio::StreamableReader;
use crate::raw::oio::{into_flat_page, FileReader};
@@ -101,11 +101,11 @@ use crate::*;
/// them. CompleteLayer will add those capabilities in a zero cost way.
///
/// Underlying services will return [`Capability`] to indicate the
-/// features that returning pagers support.
+/// features that returning listers support.
///
/// - If both `list_without_recursive` and `list_with_recursive`, return directly.
-/// - If only `list_with_recursive`, with [`oio::to_flat_pager`].
-/// - if only `list_without_recursive`, with [`oio::to_hierarchy_pager`].
+/// - If only `list_with_recursive`, with [`oio::to_flat_lister`].
+/// - if only `list_without_recursive`, with [`oio::to_hierarchy_lister`].
/// - If neither not supported, something must be wrong for `list` is true.
///
/// ## Capability Check
@@ -224,7 +224,7 @@ impl<A: Accessor> CompleteAccessor<A> {
&self,
path: &str,
args: OpList,
- ) -> Result<(RpList, CompletePager<A, A::Pager>)> {
+ ) -> Result<(RpList, CompleteLister<A, A::Lister>)> {
let cap = self.meta.full_capability();
if !cap.list {
return Err(self.new_unsupported_error(Operation::List));
@@ -242,7 +242,7 @@ impl<A: Accessor> CompleteAccessor<A> {
// - If recursive is false while services can list_without_recursive
(_, true, true) | (true, true, _) | (false, _, true) => {
let (rp, p) = self.inner.list(path, args).await?;
- Ok((rp, CompletePager::AlreadyComplete(p)))
+ Ok((rp, CompleteLister::AlreadyComplete(p)))
}
// If services can't list_with_recursive nor list_without_recursive.
//
@@ -251,13 +251,13 @@ impl<A: Accessor> CompleteAccessor<A> {
// If recursive is true but service can't list_with_recursive
(true, false, true) => {
let p = into_flat_page(self.inner.clone(), path, args.limit().unwrap_or(1000));
- Ok((RpList::default(), CompletePager::NeedFlat(p)))
+ Ok((RpList::default(), CompleteLister::NeedFlat(p)))
}
// If recursive is false but service can't list_without_recursive
(false, true, false) => {
let (_, p) = self.inner.list(path, args.with_recursive(true)).await?;
let p = into_hierarchy_page(p, path);
- Ok((RpList::default(), CompletePager::NeedHierarchy(p)))
+ Ok((RpList::default(), CompleteLister::NeedHierarchy(p)))
}
}
}
@@ -266,7 +266,7 @@ impl<A: Accessor> CompleteAccessor<A> {
&self,
path: &str,
args: OpList,
- ) -> Result<(RpList, CompletePager<A, A::BlockingPager>)> {
+ ) -> Result<(RpList, CompleteLister<A, A::BlockingLister>)> {
let cap = self.meta.full_capability();
if !cap.list {
return Err(self.new_unsupported_error(Operation::BlockingList));
@@ -284,7 +284,7 @@ impl<A: Accessor> CompleteAccessor<A> {
// - If recursive is false while services can list_without_recursive
(_, true, true) | (true, true, _) | (false, _, true) => {
let (rp, p) = self.inner.blocking_list(path, args)?;
- Ok((rp, CompletePager::AlreadyComplete(p)))
+ Ok((rp, CompleteLister::AlreadyComplete(p)))
}
// If services can't list_with_recursive nor list_without_recursive.
//
@@ -293,14 +293,14 @@ impl<A: Accessor> CompleteAccessor<A> {
// If recursive is true but service can't list_with_recursive
(true, false, true) => {
let p = into_flat_page(self.inner.clone(), path, args.limit().unwrap_or(1000));
- Ok((RpList::default(), CompletePager::NeedFlat(p)))
+ Ok((RpList::default(), CompleteLister::NeedFlat(p)))
}
// If recursive is false but service can't list_without_recursive
(false, true, false) => {
let (_, p) = self.inner.blocking_list(path, args.with_recursive(true))?;
- let p: HierarchyPager<<A as Accessor>::BlockingPager> =
+ let p: HierarchyLister<<A as Accessor>::BlockingLister> =
into_hierarchy_page(p, path);
- Ok((RpList::default(), CompletePager::NeedHierarchy(p)))
+ Ok((RpList::default(), CompleteLister::NeedHierarchy(p)))
}
}
}
@@ -316,8 +316,8 @@ impl<A: Accessor> LayeredAccessor for CompleteAccessor<A> {
oio::ExactBufWriter<CompleteWriter<A::Writer>>,
>;
type BlockingWriter = CompleteWriter<A::BlockingWriter>;
- type Pager = CompletePager<A, A::Pager>;
- type BlockingPager = CompletePager<A, A::BlockingPager>;
+ type Lister = CompleteLister<A, A::Lister>;
+ type BlockingLister = CompleteLister<A, A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -430,7 +430,7 @@ impl<A: Accessor> LayeredAccessor for CompleteAccessor<A> {
self.inner().delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let capability = self.meta.full_capability();
if !capability.list {
return Err(self.new_unsupported_error(Operation::List));
@@ -532,7 +532,7 @@ impl<A: Accessor> LayeredAccessor for CompleteAccessor<A> {
self.inner().blocking_delete(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let capability = self.meta.full_capability();
if !capability.list || !capability.blocking {
return Err(self.new_unsupported_error(Operation::BlockingList));
@@ -627,20 +627,20 @@ where
}
}
-pub enum CompletePager<A: Accessor, P> {
+pub enum CompleteLister<A: Accessor, P> {
AlreadyComplete(P),
- NeedFlat(FlatPager<Arc<A>, P>),
- NeedHierarchy(HierarchyPager<P>),
+ NeedFlat(FlatLister<Arc<A>, P>),
+ NeedHierarchy(HierarchyLister<P>),
}
#[async_trait]
-impl<A, P> oio::Page for CompletePager<A, P>
+impl<A, P> oio::List for CompleteLister<A, P>
where
- A: Accessor<Pager = P>,
- P: oio::Page,
+ A: Accessor<Lister = P>,
+ P: oio::List,
{
async fn next(&mut self) -> Result<Option<Vec<Entry>>> {
- use CompletePager::*;
+ use CompleteLister::*;
match self {
AlreadyComplete(p) => p.next().await,
@@ -650,13 +650,13 @@ where
}
}
-impl<A, P> oio::BlockingPage for CompletePager<A, P>
+impl<A, P> oio::BlockingList for CompleteLister<A, P>
where
- A: Accessor<BlockingPager = P>,
- P: oio::BlockingPage,
+ A: Accessor<BlockingLister = P>,
+ P: oio::BlockingList,
{
fn next(&mut self) -> Result<Option<Vec<Entry>>> {
- use CompletePager::*;
+ use CompleteLister::*;
match self {
AlreadyComplete(p) => p.next(),
@@ -770,8 +770,8 @@ mod tests {
type BlockingReader = oio::BlockingReader;
type Writer = oio::Writer;
type BlockingWriter = oio::BlockingWriter;
- type Pager = oio::Pager;
- type BlockingPager = oio::BlockingPager;
+ type Lister = oio::Lister;
+ type BlockingLister = oio::BlockingLister;
fn info(&self) -> AccessorInfo {
let mut info = AccessorInfo::default();
@@ -808,7 +808,7 @@ mod tests {
Ok(RpDelete {})
}
- async fn list(&self, _: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, _: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
Ok((RpList {}, Box::new(())))
}
diff --git a/core/src/layers/concurrent_limit.rs b/core/src/layers/concurrent_limit.rs
index c20ef4108..00f9a9a8c 100644
--- a/core/src/layers/concurrent_limit.rs
+++ b/core/src/layers/concurrent_limit.rs
@@ -86,8 +86,8 @@ impl<A: Accessor> LayeredAccessor for ConcurrentLimitAccessor<A> {
type BlockingReader = ConcurrentLimitWrapper<A::BlockingReader>;
type Writer = ConcurrentLimitWrapper<A::Writer>;
type BlockingWriter = ConcurrentLimitWrapper<A::BlockingWriter>;
- type Pager = ConcurrentLimitWrapper<A::Pager>;
- type BlockingPager = ConcurrentLimitWrapper<A::BlockingPager>;
+ type Lister = ConcurrentLimitWrapper<A::Lister>;
+ type BlockingLister = ConcurrentLimitWrapper<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -151,7 +151,7 @@ impl<A: Accessor> LayeredAccessor for ConcurrentLimitAccessor<A> {
self.inner.delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let permit = self
.semaphore
.clone()
@@ -226,7 +226,7 @@ impl<A: Accessor> LayeredAccessor for ConcurrentLimitAccessor<A> {
self.inner.blocking_delete(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let permit = self
.semaphore
.clone()
@@ -309,13 +309,13 @@ impl<R: oio::BlockingWrite> oio::BlockingWrite for ConcurrentLimitWrapper<R> {
}
#[async_trait]
-impl<R: oio::Page> oio::Page for ConcurrentLimitWrapper<R> {
+impl<R: oio::List> oio::List for ConcurrentLimitWrapper<R> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next().await
}
}
-impl<R: oio::BlockingPage> oio::BlockingPage for ConcurrentLimitWrapper<R> {
+impl<R: oio::BlockingList> oio::BlockingList for ConcurrentLimitWrapper<R> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next()
}
diff --git a/core/src/layers/error_context.rs b/core/src/layers/error_context.rs
index 9dae975f9..3278d502c 100644
--- a/core/src/layers/error_context.rs
+++ b/core/src/layers/error_context.rs
@@ -25,7 +25,7 @@ use async_trait::async_trait;
use bytes::Bytes;
use futures::TryFutureExt;
-use crate::raw::oio::PageOperation;
+use crate::raw::oio::ListOperation;
use crate::raw::oio::ReadOperation;
use crate::raw::oio::WriteOperation;
use crate::raw::*;
@@ -70,8 +70,8 @@ impl<A: Accessor> LayeredAccessor for ErrorContextAccessor<A> {
type BlockingReader = ErrorContextWrapper<A::BlockingReader>;
type Writer = ErrorContextWrapper<A::Writer>;
type BlockingWriter = ErrorContextWrapper<A::BlockingWriter>;
- type Pager = ErrorContextWrapper<A::Pager>;
- type BlockingPager = ErrorContextWrapper<A::BlockingPager>;
+ type Lister = ErrorContextWrapper<A::Lister>;
+ type BlockingLister = ErrorContextWrapper<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -183,7 +183,7 @@ impl<A: Accessor> LayeredAccessor for ErrorContextAccessor<A> {
.await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner
.list(path, args)
.map_ok(|(rp, p)| {
@@ -320,7 +320,7 @@ impl<A: Accessor> LayeredAccessor for ErrorContextAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner
.blocking_list(path, args)
.map(|(rp, os)| {
@@ -452,20 +452,20 @@ impl<T: oio::BlockingWrite> oio::BlockingWrite for ErrorContextWrapper<T> {
}
#[async_trait::async_trait]
-impl<T: oio::Page> oio::Page for ErrorContextWrapper<T> {
+impl<T: oio::List> oio::List for ErrorContextWrapper<T> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next().await.map_err(|err| {
- err.with_operation(PageOperation::Next)
+ err.with_operation(ListOperation::Next)
.with_context("service", self.scheme)
.with_context("path", &self.path)
})
}
}
-impl<T: oio::BlockingPage> oio::BlockingPage for ErrorContextWrapper<T> {
+impl<T: oio::BlockingList> oio::BlockingList for ErrorContextWrapper<T> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next().map_err(|err| {
- err.with_operation(PageOperation::BlockingNext)
+ err.with_operation(ListOperation::BlockingNext)
.with_context("service", self.scheme)
.with_context("path", &self.path)
})
diff --git a/core/src/layers/immutable_index.rs b/core/src/layers/immutable_index.rs
index 0186267cd..6137687b8 100644
--- a/core/src/layers/immutable_index.rs
+++ b/core/src/layers/immutable_index.rs
@@ -140,8 +140,8 @@ impl<A: Accessor> LayeredAccessor for ImmutableIndexAccessor<A> {
type BlockingReader = A::BlockingReader;
type Writer = A::Writer;
type BlockingWriter = A::BlockingWriter;
- type Pager = ImmutableDir;
- type BlockingPager = ImmutableDir;
+ type Lister = ImmutableDir;
+ type BlockingLister = ImmutableDir;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -163,7 +163,7 @@ impl<A: Accessor> LayeredAccessor for ImmutableIndexAccessor<A> {
self.inner.read(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let mut path = path;
if path == "/" {
path = ""
@@ -190,7 +190,7 @@ impl<A: Accessor> LayeredAccessor for ImmutableIndexAccessor<A> {
self.inner.blocking_write(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let mut path = path;
if path == "/" {
path = ""
@@ -239,13 +239,13 @@ impl ImmutableDir {
}
#[async_trait]
-impl oio::Page for ImmutableDir {
+impl oio::List for ImmutableDir {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
}
-impl oio::BlockingPage for ImmutableDir {
+impl oio::BlockingList for ImmutableDir {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
diff --git a/core/src/layers/logging.rs b/core/src/layers/logging.rs
index 78ebc8d4c..b556cc7aa 100644
--- a/core/src/layers/logging.rs
+++ b/core/src/layers/logging.rs
@@ -218,8 +218,8 @@ impl<A: Accessor> LayeredAccessor for LoggingAccessor<A> {
type BlockingReader = LoggingReader<A::BlockingReader>;
type Writer = LoggingWriter<A::Writer>;
type BlockingWriter = LoggingWriter<A::BlockingWriter>;
- type Pager = LoggingPager<A::Pager>;
- type BlockingPager = LoggingPager<A::BlockingPager>;
+ type Lister = LoggingLister<A::Lister>;
+ type BlockingLister = LoggingLister<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -525,7 +525,7 @@ impl<A: Accessor> LayeredAccessor for LoggingAccessor<A> {
.await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
debug!(
target: LOGGING_TARGET,
"service={} operation={} path={} -> started",
@@ -545,7 +545,7 @@ impl<A: Accessor> LayeredAccessor for LoggingAccessor<A> {
Operation::List,
path
);
- let streamer = LoggingPager::new(self.ctx.clone(), path, Operation::List, v);
+ let streamer = LoggingLister::new(self.ctx.clone(), path, Operation::List, v);
Ok((rp, streamer))
}
Err(err) => {
@@ -914,7 +914,7 @@ impl<A: Accessor> LayeredAccessor for LoggingAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
debug!(
target: LOGGING_TARGET,
"service={} operation={} path={} -> started",
@@ -933,7 +933,7 @@ impl<A: Accessor> LayeredAccessor for LoggingAccessor<A> {
Operation::BlockingList,
path
);
- let li = LoggingPager::new(self.ctx.clone(), path, Operation::BlockingList, v);
+ let li = LoggingLister::new(self.ctx.clone(), path, Operation::BlockingList, v);
(rp, li)
})
.map_err(|err| {
@@ -1431,7 +1431,7 @@ impl<W: oio::BlockingWrite> oio::BlockingWrite for LoggingWriter<W> {
}
}
-pub struct LoggingPager<P> {
+pub struct LoggingLister<P> {
ctx: LoggingContext,
path: String,
op: Operation,
@@ -1440,7 +1440,7 @@ pub struct LoggingPager<P> {
inner: P,
}
-impl<P> LoggingPager<P> {
+impl<P> LoggingLister<P> {
fn new(ctx: LoggingContext, path: &str, op: Operation, inner: P) -> Self {
Self {
ctx,
@@ -1452,7 +1452,7 @@ impl<P> LoggingPager<P> {
}
}
-impl<P> Drop for LoggingPager<P> {
+impl<P> Drop for LoggingLister<P> {
fn drop(&mut self) {
if self.finished {
debug!(
@@ -1475,7 +1475,7 @@ impl<P> Drop for LoggingPager<P> {
}
#[async_trait]
-impl<P: oio::Page> oio::Page for LoggingPager<P> {
+impl<P: oio::List> oio::List for LoggingLister<P> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let res = self.inner.next().await;
@@ -1519,7 +1519,7 @@ impl<P: oio::Page> oio::Page for LoggingPager<P> {
}
}
-impl<P: oio::BlockingPage> oio::BlockingPage for LoggingPager<P> {
+impl<P: oio::BlockingList> oio::BlockingList for LoggingLister<P> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let res = self.inner.next();
diff --git a/core/src/layers/madsim.rs b/core/src/layers/madsim.rs
index 1d1253baf..9eb75da2d 100644
--- a/core/src/layers/madsim.rs
+++ b/core/src/layers/madsim.rs
@@ -149,8 +149,8 @@ impl LayeredAccessor for MadsimAccessor {
type BlockingReader = ();
type Writer = MadsimWriter;
type BlockingWriter = ();
- type Pager = MadsimPager;
- type BlockingPager = ();
+ type Lister = MadsimLister;
+ type BlockingLister = ();
fn inner(&self) -> &Self::Inner {
&()
@@ -217,7 +217,7 @@ impl LayeredAccessor for MadsimAccessor {
}
}
- async fn list(&self, path: &str, args: OpList) -> crate::Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> crate::Result<(RpList, Self::Lister)> {
Err(Error::new(
ErrorKind::Unsupported,
"will be supported in the future",
@@ -250,7 +250,7 @@ impl LayeredAccessor for MadsimAccessor {
&self,
path: &str,
args: OpList,
- ) -> crate::Result<(RpList, Self::BlockingPager)> {
+ ) -> crate::Result<(RpList, Self::BlockingLister)> {
Err(Error::new(
ErrorKind::Unsupported,
"will not be supported in MadsimLayer",
@@ -331,10 +331,10 @@ impl oio::Write for MadsimWriter {
}
}
-pub struct MadsimPager {}
+pub struct MadsimLister {}
#[async_trait]
-impl oio::Page for MadsimPager {
+impl oio::List for MadsimLister {
async fn next(&mut self) -> crate::Result<Option<Vec<Entry>>> {
Err(Error::new(
ErrorKind::Unsupported,
diff --git a/core/src/layers/metrics.rs b/core/src/layers/metrics.rs
index bcbb72131..b9c67b54e 100644
--- a/core/src/layers/metrics.rs
+++ b/core/src/layers/metrics.rs
@@ -412,8 +412,8 @@ impl<A: Accessor> LayeredAccessor for MetricsAccessor<A> {
type BlockingReader = MetricWrapper<A::BlockingReader>;
type Writer = MetricWrapper<A::Writer>;
type BlockingWriter = MetricWrapper<A::BlockingWriter>;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -547,7 +547,7 @@ impl<A: Accessor> LayeredAccessor for MetricsAccessor<A> {
.await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.handle.requests_total_list.increment(1);
let start = Instant::now();
@@ -709,7 +709,7 @@ impl<A: Accessor> LayeredAccessor for MetricsAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.handle.requests_total_blocking_list.increment(1);
let start = Instant::now();
diff --git a/core/src/layers/minitrace.rs b/core/src/layers/minitrace.rs
index 00e1239d2..26df33004 100644
--- a/core/src/layers/minitrace.rs
+++ b/core/src/layers/minitrace.rs
@@ -25,7 +25,7 @@ use bytes::Bytes;
use futures::FutureExt;
use minitrace::prelude::*;
-use crate::raw::oio::PageOperation;
+use crate::raw::oio::ListOperation;
use crate::raw::oio::ReadOperation;
use crate::raw::oio::WriteOperation;
use crate::raw::*;
@@ -136,8 +136,8 @@ impl<A: Accessor> LayeredAccessor for MinitraceAccessor<A> {
type BlockingReader = MinitraceWrapper<A::BlockingReader>;
type Writer = MinitraceWrapper<A::Writer>;
type BlockingWriter = MinitraceWrapper<A::BlockingWriter>;
- type Pager = MinitraceWrapper<A::Pager>;
- type BlockingPager = MinitraceWrapper<A::BlockingPager>;
+ type Lister = MinitraceWrapper<A::Lister>;
+ type BlockingLister = MinitraceWrapper<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -204,7 +204,7 @@ impl<A: Accessor> LayeredAccessor for MinitraceAccessor<A> {
}
#[trace(enter_on_poll = true)]
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner
.list(path, args)
.map(|v| {
@@ -274,7 +274,7 @@ impl<A: Accessor> LayeredAccessor for MinitraceAccessor<A> {
}
#[trace]
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args).map(|(rp, it)| {
(
rp,
@@ -371,22 +371,22 @@ impl<R: oio::BlockingWrite> oio::BlockingWrite for MinitraceWrapper<R> {
}
#[async_trait]
-impl<R: oio::Page> oio::Page for MinitraceWrapper<R> {
+impl<R: oio::List> oio::List for MinitraceWrapper<R> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner
.next()
.in_span(Span::enter_with_parent(
- PageOperation::Next.into_static(),
+ ListOperation::Next.into_static(),
&self.span,
))
.await
}
}
-impl<R: oio::BlockingPage> oio::BlockingPage for MinitraceWrapper<R> {
+impl<R: oio::BlockingList> oio::BlockingList for MinitraceWrapper<R> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let _g = self.span.set_local_parent();
- let _span = LocalSpan::enter_with_local_parent(PageOperation::BlockingNext.into_static());
+ let _span = LocalSpan::enter_with_local_parent(ListOperation::BlockingNext.into_static());
self.inner.next()
}
}
diff --git a/core/src/layers/oteltrace.rs b/core/src/layers/oteltrace.rs
index 1591ae6af..0244e3190 100644
--- a/core/src/layers/oteltrace.rs
+++ b/core/src/layers/oteltrace.rs
@@ -73,8 +73,8 @@ impl<A: Accessor> LayeredAccessor for OtelTraceAccessor<A> {
type BlockingReader = OtelTraceWrapper<A::BlockingReader>;
type Writer = OtelTraceWrapper<A::Writer>;
type BlockingWriter = OtelTraceWrapper<A::BlockingWriter>;
- type Pager = OtelTraceWrapper<A::Pager>;
- type BlockingPager = OtelTraceWrapper<A::BlockingPager>;
+ type Lister = OtelTraceWrapper<A::Lister>;
+ type BlockingLister = OtelTraceWrapper<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -154,7 +154,7 @@ impl<A: Accessor> LayeredAccessor for OtelTraceAccessor<A> {
self.inner().delete(path, args).with_context(cx).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let tracer = global::tracer("opendal");
let mut span = tracer.start("list");
span.set_attribute(KeyValue::new("path", path.to_string()));
@@ -254,7 +254,7 @@ impl<A: Accessor> LayeredAccessor for OtelTraceAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let tracer = global::tracer("opendal");
let mut span = tracer.start("blocking_list");
span.set_attribute(KeyValue::new("path", path.to_string()));
@@ -330,13 +330,13 @@ impl<R: oio::BlockingWrite> oio::BlockingWrite for OtelTraceWrapper<R> {
}
#[async_trait]
-impl<R: oio::Page> oio::Page for OtelTraceWrapper<R> {
+impl<R: oio::List> oio::List for OtelTraceWrapper<R> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next().await
}
}
-impl<R: oio::BlockingPage> oio::BlockingPage for OtelTraceWrapper<R> {
+impl<R: oio::BlockingList> oio::BlockingList for OtelTraceWrapper<R> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next()
}
diff --git a/core/src/layers/prometheus.rs b/core/src/layers/prometheus.rs
index f26a4af2b..41b7bfc68 100644
--- a/core/src/layers/prometheus.rs
+++ b/core/src/layers/prometheus.rs
@@ -275,8 +275,8 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
type BlockingReader = PrometheusMetricWrapper<A::BlockingReader>;
type Writer = PrometheusMetricWrapper<A::Writer>;
type BlockingWriter = PrometheusMetricWrapper<A::BlockingWriter>;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -429,7 +429,7 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
})
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let labels = self.stats.generate_metric_label(
self.scheme.into_static(),
Operation::List.into_static(),
@@ -633,7 +633,7 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let labels = self.stats.generate_metric_label(
self.scheme.into_static(),
Operation::BlockingList.into_static(),
diff --git a/core/src/layers/prometheus_client.rs b/core/src/layers/prometheus_client.rs
index 9cb4b69d1..fa9e7ec3d 100644
--- a/core/src/layers/prometheus_client.rs
+++ b/core/src/layers/prometheus_client.rs
@@ -214,8 +214,8 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
type BlockingReader = PrometheusMetricWrapper<A::BlockingReader>;
type Writer = PrometheusMetricWrapper<A::Writer>;
type BlockingWriter = PrometheusMetricWrapper<A::BlockingWriter>;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -336,7 +336,7 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
})
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.metrics
.increment_request_total(self.scheme, Operation::List);
let start_time = Instant::now();
@@ -493,7 +493,7 @@ impl<A: Accessor> LayeredAccessor for PrometheusAccessor<A> {
})
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.metrics
.increment_request_total(self.scheme, Operation::BlockingList);
let start_time = Instant::now();
diff --git a/core/src/layers/retry.rs b/core/src/layers/retry.rs
index 96c6e144a..d0162ccdf 100644
--- a/core/src/layers/retry.rs
+++ b/core/src/layers/retry.rs
@@ -35,7 +35,7 @@ use bytes::Bytes;
use futures::FutureExt;
use log::warn;
-use crate::raw::oio::PageOperation;
+use crate::raw::oio::ListOperation;
use crate::raw::oio::ReadOperation;
use crate::raw::oio::WriteOperation;
use crate::raw::*;
@@ -284,8 +284,8 @@ impl<A: Accessor, I: RetryInterceptor> LayeredAccessor for RetryAccessor<A, I> {
type BlockingReader = RetryWrapper<A::BlockingReader, I>;
type Writer = RetryWrapper<A::Writer, I>;
type BlockingWriter = RetryWrapper<A::BlockingWriter, I>;
- type Pager = RetryWrapper<A::Pager, I>;
- type BlockingPager = RetryWrapper<A::BlockingPager, I>;
+ type Lister = RetryWrapper<A::Lister, I>;
+ type BlockingLister = RetryWrapper<A::BlockingLister, I>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -432,7 +432,7 @@ impl<A: Accessor, I: RetryInterceptor> LayeredAccessor for RetryAccessor<A, I> {
.await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
{ || self.inner.list(path, args.clone()) }
.retry(&self.builder)
.when(|e| e.is_temporary())
@@ -445,9 +445,9 @@ impl<A: Accessor, I: RetryInterceptor> LayeredAccessor for RetryAccessor<A, I> {
})
.map(|v| {
v.map(|(l, p)| {
- let pager =
+ let lister =
RetryWrapper::new(p, self.notify.clone(), path, self.builder.clone());
- (l, pager)
+ (l, lister)
})
.map_err(|e| e.set_persistent())
})
@@ -622,7 +622,7 @@ impl<A: Accessor, I: RetryInterceptor> LayeredAccessor for RetryAccessor<A, I> {
.map_err(|e| e.set_persistent())
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
{ || self.inner.blocking_list(path, args.clone()) }
.retry(&self.builder)
.when(|e| e.is_temporary())
@@ -1050,7 +1050,7 @@ impl<R: oio::BlockingWrite, I: RetryInterceptor> oio::BlockingWrite for RetryWra
}
#[async_trait]
-impl<P: oio::Page, I: RetryInterceptor> oio::Page for RetryWrapper<P, I> {
+impl<P: oio::List, I: RetryInterceptor> oio::List for RetryWrapper<P, I> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut backoff = self.builder.build();
@@ -1065,7 +1065,7 @@ impl<P: oio::Page, I: RetryInterceptor> oio::Page for RetryWrapper<P, I> {
&e,
dur,
&[
- ("operation", PageOperation::Next.into_static()),
+ ("operation", ListOperation::Next.into_static()),
("path", &self.path),
],
);
@@ -1078,7 +1078,7 @@ impl<P: oio::Page, I: RetryInterceptor> oio::Page for RetryWrapper<P, I> {
}
}
-impl<P: oio::BlockingPage, I: RetryInterceptor> oio::BlockingPage for RetryWrapper<P, I> {
+impl<P: oio::BlockingList, I: RetryInterceptor> oio::BlockingList for RetryWrapper<P, I> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
{ || self.inner.next() }
.retry(&self.builder)
@@ -1088,7 +1088,7 @@ impl<P: oio::BlockingPage, I: RetryInterceptor> oio::BlockingPage for RetryWrapp
err,
dur,
&[
- ("operation", PageOperation::BlockingNext.into_static()),
+ ("operation", ListOperation::BlockingNext.into_static()),
("path", &self.path),
],
);
@@ -1145,8 +1145,8 @@ mod tests {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = MockPager;
- type BlockingPager = ();
+ type Lister = MockLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -1172,9 +1172,9 @@ mod tests {
))
}
- async fn list(&self, _: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
- let pager = MockPager::default();
- Ok((RpList::default(), pager))
+ async fn list(&self, _: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
+ let lister = MockLister::default();
+ Ok((RpList::default(), lister))
}
async fn batch(&self, op: OpBatch) -> Result<RpBatch> {
@@ -1291,17 +1291,17 @@ mod tests {
}
#[derive(Debug, Clone, Default)]
- struct MockPager {
+ struct MockLister {
attempt: usize,
}
#[async_trait]
- impl oio::Page for MockPager {
+ impl oio::List for MockLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.attempt += 1;
match self.attempt {
1 => Err(Error::new(
ErrorKind::RateLimited,
- "retryable rate limited error from pager",
+ "retryable rate limited error from lister",
)
.set_temporary()),
2 => {
diff --git a/core/src/layers/throttle.rs b/core/src/layers/throttle.rs
index 708d5980b..d76428b39 100644
--- a/core/src/layers/throttle.rs
+++ b/core/src/layers/throttle.rs
@@ -120,8 +120,8 @@ impl<A: Accessor> LayeredAccessor for ThrottleAccessor<A> {
type BlockingReader = ThrottleWrapper<A::BlockingReader>;
type Writer = ThrottleWrapper<A::Writer>;
type BlockingWriter = ThrottleWrapper<A::BlockingWriter>;
- type Pager = A::Pager;
- type BlockingPager = A::BlockingPager;
+ type Lister = A::Lister;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -145,7 +145,7 @@ impl<A: Accessor> LayeredAccessor for ThrottleAccessor<A> {
.map(|(rp, w)| (rp, ThrottleWrapper::new(w, limiter)))
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner.list(path, args).await
}
@@ -165,7 +165,7 @@ impl<A: Accessor> LayeredAccessor for ThrottleAccessor<A> {
.map(|(rp, w)| (rp, ThrottleWrapper::new(w, limiter)))
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args)
}
}
diff --git a/core/src/layers/timeout.rs b/core/src/layers/timeout.rs
index 2cabf36af..64b55ff18 100644
--- a/core/src/layers/timeout.rs
+++ b/core/src/layers/timeout.rs
@@ -24,7 +24,7 @@ use std::time::Instant;
use async_trait::async_trait;
use bytes::Bytes;
-use crate::raw::oio::PageOperation;
+use crate::raw::oio::ListOperation;
use crate::raw::oio::ReadOperation;
use crate::raw::oio::WriteOperation;
use crate::raw::*;
@@ -146,8 +146,8 @@ impl<A: Accessor> LayeredAccessor for TimeoutAccessor<A> {
type BlockingReader = A::BlockingReader;
type Writer = TimeoutWrapper<A::Writer>;
type BlockingWriter = A::BlockingWriter;
- type Pager = TimeoutWrapper<A::Pager>;
- type BlockingPager = A::BlockingPager;
+ type Lister = TimeoutWrapper<A::Lister>;
+ type BlockingLister = A::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -177,7 +177,7 @@ impl<A: Accessor> LayeredAccessor for TimeoutAccessor<A> {
.map(|(rp, r)| (rp, TimeoutWrapper::new(r, self.timeout, self.speed)))
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
tokio::time::timeout(self.timeout, self.inner.list(path, args))
.await
.map_err(|_| {
@@ -197,7 +197,7 @@ impl<A: Accessor> LayeredAccessor for TimeoutAccessor<A> {
self.inner.blocking_write(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner.blocking_list(path, args)
}
}
@@ -416,13 +416,13 @@ impl<R: oio::Write> oio::Write for TimeoutWrapper<R> {
}
#[async_trait]
-impl<R: oio::Page> oio::Page for TimeoutWrapper<R> {
+impl<R: oio::List> oio::List for TimeoutWrapper<R> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
tokio::time::timeout(self.timeout, self.inner.next())
.await
.map_err(|_| {
Error::new(ErrorKind::Unexpected, "operation timeout")
- .with_operation(PageOperation::Next)
+ .with_operation(ListOperation::Next)
.with_context("timeout", self.timeout.as_secs_f64().to_string())
.set_temporary()
})?
diff --git a/core/src/layers/tracing.rs b/core/src/layers/tracing.rs
index 9bb0b54c2..418be8235 100644
--- a/core/src/layers/tracing.rs
+++ b/core/src/layers/tracing.rs
@@ -137,8 +137,8 @@ impl<A: Accessor> LayeredAccessor for TracingAccessor<A> {
type BlockingReader = TracingWrapper<A::BlockingReader>;
type Writer = TracingWrapper<A::Writer>;
type BlockingWriter = TracingWrapper<A::BlockingWriter>;
- type Pager = TracingWrapper<A::Pager>;
- type BlockingPager = TracingWrapper<A::BlockingPager>;
+ type Lister = TracingWrapper<A::Lister>;
+ type BlockingLister = TracingWrapper<A::BlockingLister>;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -191,7 +191,7 @@ impl<A: Accessor> LayeredAccessor for TracingAccessor<A> {
}
#[tracing::instrument(level = "debug", skip(self))]
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner
.list(path, args)
.map(|v| v.map(|(rp, s)| (rp, TracingWrapper::new(Span::current(), s))))
@@ -248,7 +248,7 @@ impl<A: Accessor> LayeredAccessor for TracingAccessor<A> {
}
#[tracing::instrument(level = "debug", skip(self))]
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner
.blocking_list(path, args)
.map(|(rp, it)| (rp, TracingWrapper::new(Span::current(), it)))
@@ -364,14 +364,14 @@ impl<R: oio::BlockingWrite> oio::BlockingWrite for TracingWrapper<R> {
}
#[async_trait]
-impl<R: oio::Page> oio::Page for TracingWrapper<R> {
+impl<R: oio::List> oio::List for TracingWrapper<R> {
#[tracing::instrument(parent = &self.span, level = "debug", skip_all)]
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next().await
}
}
-impl<R: oio::BlockingPage> oio::BlockingPage for TracingWrapper<R> {
+impl<R: oio::BlockingList> oio::BlockingList for TracingWrapper<R> {
#[tracing::instrument(parent = &self.span, level = "debug", skip_all)]
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
self.inner.next()
diff --git a/core/src/layers/type_eraser.rs b/core/src/layers/type_eraser.rs
index 9561700c7..68cb24859 100644
--- a/core/src/layers/type_eraser.rs
+++ b/core/src/layers/type_eraser.rs
@@ -59,8 +59,8 @@ impl<A: Accessor> LayeredAccessor for TypeEraseAccessor<A> {
type BlockingReader = oio::BlockingReader;
type Writer = oio::Writer;
type BlockingWriter = oio::BlockingWriter;
- type Pager = oio::Pager;
- type BlockingPager = oio::BlockingPager;
+ type Lister = oio::Lister;
+ type BlockingLister = oio::BlockingLister;
fn inner(&self) -> &Self::Inner {
&self.inner
@@ -80,11 +80,11 @@ impl<A: Accessor> LayeredAccessor for TypeEraseAccessor<A> {
.map(|(rp, w)| (rp, Box::new(w) as oio::Writer))
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.inner
.list(path, args)
.await
- .map(|(rp, p)| (rp, Box::new(p) as oio::Pager))
+ .map(|(rp, p)| (rp, Box::new(p) as oio::Lister))
}
fn blocking_read(&self, path: &str, args: OpRead) -> Result<(RpRead, Self::BlockingReader)> {
@@ -99,9 +99,9 @@ impl<A: Accessor> LayeredAccessor for TypeEraseAccessor<A> {
.map(|(rp, w)| (rp, Box::new(w) as oio::BlockingWriter))
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.inner
.blocking_list(path, args)
- .map(|(rp, p)| (rp, Box::new(p) as oio::BlockingPager))
+ .map(|(rp, p)| (rp, Box::new(p) as oio::BlockingLister))
}
}
diff --git a/core/src/raw/accessor.rs b/core/src/raw/accessor.rs
index 6fed93b58..5ff1ab802 100644
--- a/core/src/raw/accessor.rs
+++ b/core/src/raw/accessor.rs
@@ -65,11 +65,11 @@ pub trait Accessor: Send + Sync + Debug + Unpin + 'static {
/// BlockingWriter is the associated writer the could return in
/// `blocking_write` operation.
type BlockingWriter: oio::BlockingWrite;
- /// Pager is the associated page that return in `list` operation.
- type Pager: oio::Page;
- /// BlockingPager is the associated pager that could return in
+ /// Lister is the associated lister that return in `list` operation.
+ type Lister: oio::List;
+ /// BlockingLister is the associated lister that could return in
/// `blocking_list` operation.
- type BlockingPager: oio::BlockingPage;
+ type BlockingLister: oio::BlockingList;
/// Invoke the `info` operation to get metadata of accessor.
///
@@ -209,7 +209,7 @@ pub trait Accessor: Send + Sync + Debug + Unpin + 'static {
///
/// - Input path MUST be dir path, DON'T NEED to check mode.
/// - List non-exist dir should return Empty.
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let (_, _) = (path, args);
Err(Error::new(
@@ -353,7 +353,7 @@ pub trait Accessor: Send + Sync + Debug + Unpin + 'static {
/// # Behavior
///
/// - List non-exist dir should return Empty.
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let (_, _) = (path, args);
Err(Error::new(
@@ -370,8 +370,8 @@ impl Accessor for () {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
AccessorInfo {
@@ -392,8 +392,8 @@ impl<T: Accessor + ?Sized> Accessor for Arc<T> {
type BlockingReader = T::BlockingReader;
type Writer = T::Writer;
type BlockingWriter = T::BlockingWriter;
- type Pager = T::Pager;
- type BlockingPager = T::BlockingPager;
+ type Lister = T::Lister;
+ type BlockingLister = T::BlockingLister;
fn info(&self) -> AccessorInfo {
self.as_ref().info()
@@ -424,7 +424,7 @@ impl<T: Accessor + ?Sized> Accessor for Arc<T> {
async fn delete(&self, path: &str, args: OpDelete) -> Result<RpDelete> {
self.as_ref().delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
self.as_ref().list(path, args).await
}
@@ -460,7 +460,7 @@ impl<T: Accessor + ?Sized> Accessor for Arc<T> {
fn blocking_delete(&self, path: &str, args: OpDelete) -> Result<RpDelete> {
self.as_ref().blocking_delete(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
self.as_ref().blocking_list(path, args)
}
}
@@ -472,8 +472,8 @@ pub type FusedAccessor = Arc<
BlockingReader = oio::BlockingReader,
Writer = oio::Writer,
BlockingWriter = oio::BlockingWriter,
- Pager = oio::Pager,
- BlockingPager = oio::BlockingPager,
+ Lister = oio::Lister,
+ BlockingLister = oio::BlockingLister,
>,
>;
diff --git a/core/src/raw/adapters/kv/backend.rs b/core/src/raw/adapters/kv/backend.rs
index a05dee052..4360e6f39 100644
--- a/core/src/raw/adapters/kv/backend.rs
+++ b/core/src/raw/adapters/kv/backend.rs
@@ -68,8 +68,8 @@ impl<S: Adapter> Accessor for Backend<S> {
type BlockingReader = oio::Cursor;
type Writer = KvWriter<S>;
type BlockingWriter = KvWriter<S>;
- type Pager = KvPager;
- type BlockingPager = KvPager;
+ type Lister = KvLister;
+ type BlockingLister = KvLister;
fn info(&self) -> AccessorInfo {
let mut am: AccessorInfo = self.kv.metadata().into();
@@ -202,20 +202,20 @@ impl<S: Adapter> Accessor for Backend<S> {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
let p = build_abs_path(&self.root, path);
let res = self.kv.scan(&p).await?;
- let pager = KvPager::new(&self.root, res);
+ let lister = KvLister::new(&self.root, res);
- Ok((RpList::default(), pager))
+ Ok((RpList::default(), lister))
}
- fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingLister)> {
let p = build_abs_path(&self.root, path);
let res = self.kv.blocking_scan(&p)?;
- let pager = KvPager::new(&self.root, res);
+ let lister = KvLister::new(&self.root, res);
- Ok((RpList::default(), pager))
+ Ok((RpList::default(), lister))
}
async fn rename(&self, from: &str, to: &str, _: OpRename) -> Result<RpRename> {
@@ -301,12 +301,12 @@ where
}
}
-pub struct KvPager {
+pub struct KvLister {
root: String,
inner: Option<Vec<String>>,
}
-impl KvPager {
+impl KvLister {
fn new(root: &str, inner: Vec<String>) -> Self {
Self {
root: root.to_string(),
@@ -335,13 +335,13 @@ impl KvPager {
}
#[async_trait]
-impl oio::Page for KvPager {
+impl oio::List for KvLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
}
-impl oio::BlockingPage for KvPager {
+impl oio::BlockingList for KvLister {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
diff --git a/core/src/raw/adapters/typed_kv/backend.rs b/core/src/raw/adapters/typed_kv/backend.rs
index 8d2343026..2a1da5966 100644
--- a/core/src/raw/adapters/typed_kv/backend.rs
+++ b/core/src/raw/adapters/typed_kv/backend.rs
@@ -62,8 +62,8 @@ impl<S: Adapter> Accessor for Backend<S> {
type BlockingReader = oio::Cursor;
type Writer = KvWriter<S>;
type BlockingWriter = KvWriter<S>;
- type Pager = KvPager;
- type BlockingPager = KvPager;
+ type Lister = KvLister;
+ type BlockingLister = KvLister;
fn info(&self) -> AccessorInfo {
let kv_info = self.kv.info();
@@ -205,20 +205,20 @@ impl<S: Adapter> Accessor for Backend<S> {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
let p = build_abs_path(&self.root, path);
let res = self.kv.scan(&p).await?;
- let pager = KvPager::new(&self.root, res);
+ let lister = KvLister::new(&self.root, res);
- Ok((RpList::default(), pager))
+ Ok((RpList::default(), lister))
}
- fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingLister)> {
let p = build_abs_path(&self.root, path);
let res = self.kv.blocking_scan(&p)?;
- let pager = KvPager::new(&self.root, res);
+ let lister = KvLister::new(&self.root, res);
- Ok((RpList::default(), pager))
+ Ok((RpList::default(), lister))
}
async fn rename(&self, from: &str, to: &str, _: OpRename) -> Result<RpRename> {
@@ -302,12 +302,12 @@ where
}
}
-pub struct KvPager {
+pub struct KvLister {
root: String,
inner: Option<Vec<String>>,
}
-impl KvPager {
+impl KvLister {
fn new(root: &str, inner: Vec<String>) -> Self {
Self {
root: root.to_string(),
@@ -336,13 +336,13 @@ impl KvPager {
}
#[async_trait]
-impl oio::Page for KvPager {
+impl oio::List for KvLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
}
-impl oio::BlockingPage for KvPager {
+impl oio::BlockingList for KvLister {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
Ok(self.inner_next_page())
}
diff --git a/core/src/raw/layer.rs b/core/src/raw/layer.rs
index 7d0c40a20..48619c9be 100644
--- a/core/src/raw/layer.rs
+++ b/core/src/raw/layer.rs
@@ -61,8 +61,8 @@ use crate::*;
/// type BlockingReader = A::BlockingReader;
/// type Writer = A::Writer;
/// type BlockingWriter = A::BlockingWriter;
-/// type Pager = A::Pager;
-/// type BlockingPager = A::BlockingPager;
+/// type Lister = A::Lister;
+/// type BlockingLister = A::BlockingLister;
///
/// fn inner(&self) -> &Self::Inner {
/// &self.inner
@@ -92,11 +92,11 @@ use crate::*;
/// self.inner.blocking_write(path, args)
/// }
///
-/// async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+/// async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
/// self.inner.list(path, args).await
/// }
///
-/// fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+/// fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
/// self.inner.blocking_list(path, args)
/// }
/// }
@@ -132,8 +132,8 @@ pub trait LayeredAccessor: Send + Sync + Debug + Unpin + 'static {
type BlockingReader: oio::BlockingRead;
type Writer: oio::Write;
type BlockingWriter: oio::BlockingWrite;
- type Pager: oio::Page;
- type BlockingPager: oio::BlockingPage;
+ type Lister: oio::List;
+ type BlockingLister: oio::BlockingList;
fn inner(&self) -> &Self::Inner;
@@ -165,7 +165,7 @@ pub trait LayeredAccessor: Send + Sync + Debug + Unpin + 'static {
self.inner().delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)>;
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)>;
async fn batch(&self, args: OpBatch) -> Result<RpBatch> {
self.inner().batch(args).await
@@ -199,7 +199,7 @@ pub trait LayeredAccessor: Send + Sync + Debug + Unpin + 'static {
self.inner().blocking_delete(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)>;
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)>;
}
#[async_trait]
@@ -208,8 +208,8 @@ impl<L: LayeredAccessor> Accessor for L {
type BlockingReader = L::BlockingReader;
type Writer = L::Writer;
type BlockingWriter = L::BlockingWriter;
- type Pager = L::Pager;
- type BlockingPager = L::BlockingPager;
+ type Lister = L::Lister;
+ type BlockingLister = L::BlockingLister;
fn info(&self) -> AccessorInfo {
(self as &L).metadata()
@@ -243,7 +243,7 @@ impl<L: LayeredAccessor> Accessor for L {
(self as &L).delete(path, args).await
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
(self as &L).list(path, args).await
}
@@ -283,7 +283,7 @@ impl<L: LayeredAccessor> Accessor for L {
(self as &L).blocking_delete(path, args)
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
(self as &L).blocking_list(path, args)
}
}
@@ -321,8 +321,8 @@ mod tests {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
diff --git a/core/src/raw/oio/page/api.rs b/core/src/raw/oio/list/api.rs
similarity index 70%
rename from core/src/raw/oio/page/api.rs
rename to core/src/raw/oio/list/api.rs
index 62a265404..c08f5d294 100644
--- a/core/src/raw/oio/page/api.rs
+++ b/core/src/raw/oio/list/api.rs
@@ -23,44 +23,43 @@ use async_trait::async_trait;
use crate::raw::oio::Entry;
use crate::*;
-/// PageOperation is the name for APIs of pager.
+/// PageOperation is the name for APIs of lister.
#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq)]
#[non_exhaustive]
-pub enum PageOperation {
- /// Operation for [`Page::next`]
+pub enum ListOperation {
+ /// Operation for [`List::next`]
Next,
- /// Operation for [`BlockingPage::next`]
+ /// Operation for [`BlockingList::next`]
BlockingNext,
}
-impl PageOperation {
+impl ListOperation {
/// Convert self into static str.
pub fn into_static(self) -> &'static str {
self.into()
}
}
-impl Display for PageOperation {
+impl Display for ListOperation {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.into_static())
}
}
-impl From<PageOperation> for &'static str {
- fn from(v: PageOperation) -> &'static str {
- use PageOperation::*;
+impl From<ListOperation> for &'static str {
+ fn from(v: ListOperation) -> &'static str {
+ use ListOperation::*;
match v {
- Next => "Pager::next",
- BlockingNext => "BlockingPager::next",
+ Next => "List::next",
+ BlockingNext => "List::next",
}
}
}
-/// Page trait is used by [`raw::Accessor`] to implement `list`
-/// or `scan` operation.
+/// Page trait is used by [`raw::Accessor`] to implement `list` operation.
#[async_trait]
-pub trait Page: Send + Sync + 'static {
+pub trait List: Send + Sync + 'static {
/// Fetch a new page of [`Entry`]
///
/// `Ok(None)` means all pages have been returned. Any following call
@@ -68,25 +67,25 @@ pub trait Page: Send + Sync + 'static {
async fn next(&mut self) -> Result<Option<Vec<Entry>>>;
}
-/// The boxed version of [`Page`]
-pub type Pager = Box<dyn Page>;
+/// The boxed version of [`List`]
+pub type Lister = Box<dyn List>;
#[async_trait]
-impl<P: Page + ?Sized> Page for Box<P> {
+impl<P: List + ?Sized> List for Box<P> {
async fn next(&mut self) -> Result<Option<Vec<Entry>>> {
(**self).next().await
}
}
#[async_trait]
-impl Page for () {
+impl List for () {
async fn next(&mut self) -> Result<Option<Vec<Entry>>> {
Ok(None)
}
}
#[async_trait]
-impl<P: Page> Page for Option<P> {
+impl<P: List> List for Option<P> {
async fn next(&mut self) -> Result<Option<Vec<Entry>>> {
match self {
Some(p) => p.next().await,
@@ -95,8 +94,8 @@ impl<P: Page> Page for Option<P> {
}
}
-/// BlockingPage is the blocking version of [`Page`].
-pub trait BlockingPage: Send + 'static {
+/// BlockingList is the blocking version of [`List`].
+pub trait BlockingList: Send + 'static {
/// Fetch a new page of [`Entry`]
///
/// `Ok(None)` means all pages have been returned. Any following call
@@ -104,22 +103,22 @@ pub trait BlockingPage: Send + 'static {
fn next(&mut self) -> Result<Option<Vec<Entry>>>;
}
-/// BlockingPager is a boxed [`BlockingPage`]
-pub type BlockingPager = Box<dyn BlockingPage>;
+/// BlockingLister is a boxed [`BlockingList`]
+pub type BlockingLister = Box<dyn BlockingList>;
-impl<P: BlockingPage + ?Sized> BlockingPage for Box<P> {
+impl<P: BlockingList + ?Sized> BlockingList for Box<P> {
fn next(&mut self) -> Result<Option<Vec<Entry>>> {
(**self).next()
}
}
-impl BlockingPage for () {
+impl BlockingList for () {
fn next(&mut self) -> Result<Option<Vec<Entry>>> {
Ok(None)
}
}
-impl<P: BlockingPage> BlockingPage for Option<P> {
+impl<P: BlockingList> BlockingList for Option<P> {
fn next(&mut self) -> Result<Option<Vec<Entry>>> {
match self {
Some(p) => p.next(),
diff --git a/core/src/raw/oio/page/into_flat_page.rs b/core/src/raw/oio/list/into_flat_page.rs
similarity index 82%
rename from core/src/raw/oio/page/into_flat_page.rs
rename to core/src/raw/oio/list/into_flat_page.rs
index 4af725043..ee9966b4c 100644
--- a/core/src/raw/oio/page/into_flat_page.rs
+++ b/core/src/raw/oio/list/into_flat_page.rs
@@ -23,8 +23,8 @@ use async_trait::async_trait;
use crate::raw::*;
use crate::*;
-/// to_flat_pager is used to make a hierarchy pager flat.
-pub fn into_flat_page<A: Accessor, P>(acc: A, path: &str, size: usize) -> FlatPager<A, P> {
+/// to_flat_lister is used to make a hierarchy lister flat.
+pub fn into_flat_page<A: Accessor, P>(acc: A, path: &str, size: usize) -> FlatLister<A, P> {
#[cfg(debug_assertions)]
{
let meta = acc.info();
@@ -34,17 +34,17 @@ pub fn into_flat_page<A: Accessor, P>(acc: A, path: &str, size: usize) -> FlatPa
);
}
- FlatPager {
+ FlatLister {
acc,
size,
root: path.to_string(),
dirs: VecDeque::from([oio::Entry::new(path, Metadata::new(EntryMode::DIR))]),
- pagers: vec![],
+ listers: vec![],
res: Vec::with_capacity(size),
}
}
-/// ToFlatPager will walk dir in bottom up way:
+/// ToFlatLister will walk dir in bottom up way:
///
/// - List nested dir first
/// - Go back into parent dirs one by one
@@ -61,7 +61,7 @@ pub fn into_flat_page<A: Accessor, P>(acc: A, path: &str, size: usize) -> FlatPa
/// └── file_a
/// ```
///
-/// ToFlatPager will output entries like:
+/// ToFlatLister will output entries like:
///
/// ```txt
/// dir_x/dir_y/dir_z/file_c
@@ -77,33 +77,33 @@ pub fn into_flat_page<A: Accessor, P>(acc: A, path: &str, size: usize) -> FlatPa
/// There is no guarantee about the order between files and dirs at the same level.
/// We only make sure the nested dirs will show up before parent dirs.
///
-/// Especially, for storage services that can't return dirs first, ToFlatPager
+/// Especially, for storage services that can't return dirs first, ToFlatLister
/// may output parent dirs' files before nested dirs, this is expected because files
/// always output directly while listing.
-pub struct FlatPager<A: Accessor, P> {
+pub struct FlatLister<A: Accessor, P> {
acc: A,
size: usize,
root: String,
dirs: VecDeque<oio::Entry>,
- pagers: Vec<(P, oio::Entry, Vec<oio::Entry>)>,
+ listers: Vec<(P, oio::Entry, Vec<oio::Entry>)>,
res: Vec<oio::Entry>,
}
#[async_trait]
-impl<A, P> oio::Page for FlatPager<A, P>
+impl<A, P> oio::List for FlatLister<A, P>
where
- A: Accessor<Pager = P>,
- P: oio::Page,
+ A: Accessor<Lister = P>,
+ P: oio::List,
{
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
loop {
if let Some(de) = self.dirs.pop_back() {
let (_, op) = self.acc.list(de.path(), OpList::new()).await?;
- self.pagers.push((op, de, vec![]))
+ self.listers.push((op, de, vec![]))
}
- let (mut pager, de, mut buf) = match self.pagers.pop() {
- Some((pager, de, buf)) => (pager, de, buf),
+ let (mut lister, de, mut buf) = match self.listers.pop() {
+ Some((lister, de, buf)) => (lister, de, buf),
None => {
if !self.res.is_empty() {
return Ok(Some(mem::take(&mut self.res)));
@@ -113,7 +113,7 @@ where
};
if buf.is_empty() {
- match pager.next().await? {
+ match lister.next().await? {
Some(v) => {
buf = v;
}
@@ -132,13 +132,13 @@ where
if let Some(oe) = buf.pop_front() {
if oe.mode().is_dir() {
self.dirs.push_back(oe);
- self.pagers.push((pager, de, buf.into()));
+ self.listers.push((lister, de, buf.into()));
break;
} else {
self.res.push(oe)
}
} else {
- self.pagers.push((pager, de, vec![]));
+ self.listers.push((lister, de, vec![]));
break;
}
}
@@ -150,20 +150,20 @@ where
}
}
-impl<A, P> oio::BlockingPage for FlatPager<A, P>
+impl<A, P> oio::BlockingList for FlatLister<A, P>
where
- A: Accessor<BlockingPager = P>,
- P: oio::BlockingPage,
+ A: Accessor<BlockingLister = P>,
+ P: oio::BlockingList,
{
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
loop {
if let Some(de) = self.dirs.pop_back() {
let (_, op) = self.acc.blocking_list(de.path(), OpList::new())?;
- self.pagers.push((op, de, vec![]))
+ self.listers.push((op, de, vec![]))
}
- let (mut pager, de, mut buf) = match self.pagers.pop() {
- Some((pager, de, buf)) => (pager, de, buf),
+ let (mut lister, de, mut buf) = match self.listers.pop() {
+ Some((lister, de, buf)) => (lister, de, buf),
None => {
if !self.res.is_empty() {
return Ok(Some(mem::take(&mut self.res)));
@@ -173,7 +173,7 @@ where
};
if buf.is_empty() {
- match pager.next()? {
+ match lister.next()? {
Some(v) => {
buf = v;
}
@@ -192,13 +192,13 @@ where
if let Some(oe) = buf.pop_front() {
if oe.mode().is_dir() {
self.dirs.push_back(oe);
- self.pagers.push((pager, de, buf.into()));
+ self.listers.push((lister, de, buf.into()));
break;
} else {
self.res.push(oe)
}
} else {
- self.pagers.push((pager, de, vec![]));
+ self.listers.push((lister, de, vec![]));
break;
}
}
@@ -216,7 +216,7 @@ mod tests {
use std::vec;
use log::debug;
- use oio::BlockingPage;
+ use oio::BlockingList;
use super::*;
@@ -235,10 +235,10 @@ mod tests {
Self { map }
}
- fn get(&self, path: &str) -> MockPager {
+ fn get(&self, path: &str) -> MockLister {
let inner = self.map.get(path).expect("must have value").to_vec();
- MockPager { inner, done: false }
+ MockLister { inner, done: false }
}
}
@@ -248,8 +248,8 @@ mod tests {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = MockPager;
+ type Lister = ();
+ type BlockingLister = MockLister;
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -259,18 +259,18 @@ mod tests {
am
}
- fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, _: OpList) -> Result<(RpList, Self::BlockingLister)> {
debug!("visit path: {path}");
Ok((RpList::default(), self.get(path)))
}
}
- struct MockPager {
+ struct MockLister {
inner: Vec<&'static str>,
done: bool,
}
- impl BlockingPage for MockPager {
+ impl BlockingList for MockLister {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
@@ -298,11 +298,11 @@ mod tests {
let _ = tracing_subscriber::fmt().with_test_writer().try_init();
let acc = MockService::new();
- let mut pager = into_flat_page(acc, "x/", 10);
+ let mut lister = into_flat_page(acc, "x/", 10);
let mut entries = Vec::default();
- while let Some(e) = pager.next()? {
+ while let Some(e) = lister.next()? {
entries.extend_from_slice(&e)
}
diff --git a/core/src/raw/oio/page/into_hierarchy_pager.rs b/core/src/raw/oio/list/into_hierarchy_pager.rs
similarity index 86%
rename from core/src/raw/oio/page/into_hierarchy_pager.rs
rename to core/src/raw/oio/list/into_hierarchy_pager.rs
index 10a5449d6..2971ad2a1 100644
--- a/core/src/raw/oio/page/into_hierarchy_pager.rs
+++ b/core/src/raw/oio/list/into_hierarchy_pager.rs
@@ -22,38 +22,38 @@ use async_trait::async_trait;
use crate::raw::*;
use crate::*;
-/// to_hierarchy_pager is used to make a hierarchy pager flat.
-pub fn into_hierarchy_page<P>(pager: P, path: &str) -> HierarchyPager<P> {
+/// to_hierarchy_lister is used to make a hierarchy lister flat.
+pub fn into_hierarchy_page<P>(lister: P, path: &str) -> HierarchyLister<P> {
let path = if path == "/" {
"".to_string()
} else {
path.to_string()
};
- HierarchyPager {
- pager,
+ HierarchyLister {
+ lister,
path,
visited: HashSet::default(),
}
}
-/// ToHierarchyPager will convert a flat page to hierarchy by filter
+/// ToHierarchyLister will convert a flat page to hierarchy by filter
/// not needed entries.
///
/// # Notes
///
-/// ToHierarchyPager filter entries after fetch entries. So it's possible
+/// ToHierarchyLister filter entries after fetch entries. So it's possible
/// to return an empty vec. It doesn't mean the all pages have been
/// returned.
///
/// Please keep calling next_page until we returned `Ok(None)`
-pub struct HierarchyPager<P> {
- pager: P,
+pub struct HierarchyLister<P> {
+ lister: P,
path: String,
visited: HashSet<String>,
}
-impl<P> HierarchyPager<P> {
+impl<P> HierarchyLister<P> {
/// TODO: use retain_mut instead after we bump MSRV to 1.61.
fn filter_entries(&mut self, entries: Vec<oio::Entry>) -> Vec<oio::Entry> {
entries
@@ -117,9 +117,9 @@ impl<P> HierarchyPager<P> {
}
#[async_trait]
-impl<P: oio::Page> oio::Page for HierarchyPager<P> {
+impl<P: oio::List> oio::List for HierarchyLister<P> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
- let page = self.pager.next().await?;
+ let page = self.lister.next().await?;
let entries = if let Some(entries) = page {
entries
@@ -133,9 +133,9 @@ impl<P: oio::Page> oio::Page for HierarchyPager<P> {
}
}
-impl<P: oio::BlockingPage> oio::BlockingPage for HierarchyPager<P> {
+impl<P: oio::BlockingList> oio::BlockingList for HierarchyLister<P> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
- let page = self.pager.next()?;
+ let page = self.lister.next()?;
let entries = if let Some(entries) = page {
entries
@@ -155,16 +155,16 @@ mod tests {
use std::collections::HashSet;
use log::debug;
- use oio::BlockingPage;
+ use oio::BlockingList;
use super::*;
- struct MockPager {
+ struct MockLister {
inner: Vec<&'static str>,
done: bool,
}
- impl MockPager {
+ impl MockLister {
fn new(inner: &[&'static str]) -> Self {
Self {
inner: inner.to_vec(),
@@ -173,7 +173,7 @@ mod tests {
}
}
- impl BlockingPage for MockPager {
+ impl BlockingList for MockLister {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
@@ -200,13 +200,13 @@ mod tests {
fn test_blocking_list() -> Result<()> {
let _ = tracing_subscriber::fmt().with_test_writer().try_init();
- let pager = MockPager::new(&["x/x/", "x/y/", "y/", "x/x/x", "y/y", "xy/", "z", "y/a"]);
- let mut pager = into_hierarchy_page(pager, "");
+ let lister = MockLister::new(&["x/x/", "x/y/", "y/", "x/x/x", "y/y", "xy/", "z", "y/a"]);
+ let mut lister = into_hierarchy_page(lister, "");
let mut entries = Vec::default();
let mut set = HashSet::new();
- while let Some(e) = pager.next()? {
+ while let Some(e) = lister.next()? {
for i in &e {
debug!("got path {}", i.path());
assert!(
diff --git a/core/src/raw/oio/page/mod.rs b/core/src/raw/oio/list/mod.rs
similarity index 82%
rename from core/src/raw/oio/page/mod.rs
rename to core/src/raw/oio/list/mod.rs
index 26be17451..0a4b0e39e 100644
--- a/core/src/raw/oio/page/mod.rs
+++ b/core/src/raw/oio/list/mod.rs
@@ -16,16 +16,16 @@
// under the License.
mod api;
-pub use api::BlockingPage;
-pub use api::BlockingPager;
-pub use api::Page;
-pub use api::PageOperation;
-pub use api::Pager;
+pub use api::BlockingList;
+pub use api::BlockingLister;
+pub use api::List;
+pub use api::ListOperation;
+pub use api::Lister;
mod into_flat_page;
pub use into_flat_page::into_flat_page;
-pub use into_flat_page::FlatPager;
+pub use into_flat_page::FlatLister;
mod into_hierarchy_pager;
pub use into_hierarchy_pager::into_hierarchy_page;
-pub use into_hierarchy_pager::HierarchyPager;
+pub use into_hierarchy_pager::HierarchyLister;
diff --git a/core/src/raw/oio/mod.rs b/core/src/raw/oio/mod.rs
index 9e52acfd2..7a10a8331 100644
--- a/core/src/raw/oio/mod.rs
+++ b/core/src/raw/oio/mod.rs
@@ -31,8 +31,8 @@ pub use write::*;
mod stream;
pub use stream::*;
-mod page;
-pub use page::*;
+mod list;
+pub use list::*;
mod cursor;
pub use cursor::Cursor;
diff --git a/core/src/raw/oio/read/api.rs b/core/src/raw/oio/read/api.rs
index 0b9aaf770..098599855 100644
--- a/core/src/raw/oio/read/api.rs
+++ b/core/src/raw/oio/read/api.rs
@@ -28,7 +28,7 @@ use pin_project::pin_project;
use crate::*;
-/// PageOperation is the name for APIs of pager.
+/// PageOperation is the name for APIs of lister.
#[derive(Debug, Copy, Clone, Hash, Eq, PartialEq)]
#[non_exhaustive]
pub enum ReadOperation {
diff --git a/core/src/raw/oio/read/range_read.rs b/core/src/raw/oio/read/range_read.rs
index 0447aba8f..3759c3dee 100644
--- a/core/src/raw/oio/read/range_read.rs
+++ b/core/src/raw/oio/read/range_read.rs
@@ -640,8 +640,8 @@ mod tests {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
diff --git a/core/src/services/alluxio/backend.rs b/core/src/services/alluxio/backend.rs
index e047bf89c..d5c9b3a12 100644
--- a/core/src/services/alluxio/backend.rs
+++ b/core/src/services/alluxio/backend.rs
@@ -29,7 +29,7 @@ use crate::*;
use super::writer::AlluxioWriter;
use super::writer::AlluxioWriters;
-use super::{core::AlluxioCore, pager::AlluxioPager};
+use super::{core::AlluxioCore, lister::AlluxioLister};
/// Config for alluxio services support.
#[derive(Default, Deserialize)]
@@ -185,8 +185,8 @@ impl Accessor for AlluxioBackend {
type BlockingReader = ();
type Writer = AlluxioWriters;
type BlockingWriter = ();
- type Pager = AlluxioPager;
- type BlockingPager = ();
+ type Lister = AlluxioLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -252,10 +252,10 @@ impl Accessor for AlluxioBackend {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- AlluxioPager::new(self.core.clone(), path),
+ AlluxioLister::new(self.core.clone(), path),
))
}
}
diff --git a/core/src/services/alluxio/pager.rs b/core/src/services/alluxio/lister.rs
similarity index 95%
rename from core/src/services/alluxio/pager.rs
rename to core/src/services/alluxio/lister.rs
index 64483751b..c1efa6b3a 100644
--- a/core/src/services/alluxio/pager.rs
+++ b/core/src/services/alluxio/lister.rs
@@ -25,7 +25,7 @@ use crate::raw::*;
use crate::ErrorKind;
use crate::Result;
-pub struct AlluxioPager {
+pub struct AlluxioLister {
core: Arc<AlluxioCore>,
path: String,
@@ -33,9 +33,9 @@ pub struct AlluxioPager {
done: bool,
}
-impl AlluxioPager {
+impl AlluxioLister {
pub(super) fn new(core: Arc<AlluxioCore>, path: &str) -> Self {
- AlluxioPager {
+ AlluxioLister {
core,
path: path.to_string(),
done: false,
@@ -44,7 +44,7 @@ impl AlluxioPager {
}
#[async_trait]
-impl oio::Page for AlluxioPager {
+impl oio::List for AlluxioLister {
async fn next(&mut self) -> Result<Option<Vec<Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/alluxio/mod.rs b/core/src/services/alluxio/mod.rs
index 707df837a..95e0216d3 100644
--- a/core/src/services/alluxio/mod.rs
+++ b/core/src/services/alluxio/mod.rs
@@ -21,5 +21,5 @@ pub use backend::AlluxioConfig;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/azblob/backend.rs b/core/src/services/azblob/backend.rs
index acd29e74d..a87907477 100644
--- a/core/src/services/azblob/backend.rs
+++ b/core/src/services/azblob/backend.rs
@@ -34,7 +34,7 @@ use sha2::Digest;
use sha2::Sha256;
use super::error::parse_error;
-use super::pager::AzblobPager;
+use super::lister::AzblobLister;
use super::writer::AzblobWriter;
use crate::raw::*;
use crate::services::azblob::core::AzblobCore;
@@ -546,8 +546,8 @@ impl Accessor for AzblobBackend {
type BlockingReader = ();
type Writer = AzblobWriters;
type BlockingWriter = ();
- type Pager = AzblobPager;
- type BlockingPager = ();
+ type Lister = AzblobLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -688,8 +688,8 @@ impl Accessor for AzblobBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
- let op = AzblobPager::new(
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
+ let op = AzblobLister::new(
self.core.clone(),
path.to_string(),
args.recursive(),
diff --git a/core/src/services/azblob/pager.rs b/core/src/services/azblob/lister.rs
similarity index 99%
rename from core/src/services/azblob/pager.rs
rename to core/src/services/azblob/lister.rs
index 19c11bf36..25ccc1248 100644
--- a/core/src/services/azblob/pager.rs
+++ b/core/src/services/azblob/lister.rs
@@ -27,7 +27,7 @@ use super::error::parse_error;
use crate::raw::*;
use crate::*;
-pub struct AzblobPager {
+pub struct AzblobLister {
core: Arc<AzblobCore>,
path: String,
@@ -38,7 +38,7 @@ pub struct AzblobPager {
done: bool,
}
-impl AzblobPager {
+impl AzblobLister {
pub fn new(core: Arc<AzblobCore>, path: String, recursive: bool, limit: Option<usize>) -> Self {
let delimiter = if recursive { "" } else { "/" };
@@ -55,7 +55,7 @@ impl AzblobPager {
}
#[async_trait]
-impl oio::Page for AzblobPager {
+impl oio::List for AzblobLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/azblob/mod.rs b/core/src/services/azblob/mod.rs
index efc6e42f0..da314f5b3 100644
--- a/core/src/services/azblob/mod.rs
+++ b/core/src/services/azblob/mod.rs
@@ -21,5 +21,5 @@ pub use backend::AzblobConfig;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/azdls/backend.rs b/core/src/services/azdls/backend.rs
index 909bbd571..f5e08abe4 100644
--- a/core/src/services/azdls/backend.rs
+++ b/core/src/services/azdls/backend.rs
@@ -29,7 +29,7 @@ use reqsign::AzureStorageSigner;
use super::core::AzdlsCore;
use super::error::parse_error;
-use super::pager::AzdlsPager;
+use super::lister::AzdlsLister;
use super::writer::AzdlsWriter;
use crate::raw::*;
use crate::services::azdls::writer::AzdlsWriters;
@@ -233,8 +233,8 @@ impl Accessor for AzdlsBackend {
type BlockingReader = ();
type Writer = AzdlsWriters;
type BlockingWriter = ();
- type Pager = AzdlsPager;
- type BlockingPager = ();
+ type Lister = AzdlsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -365,8 +365,8 @@ impl Accessor for AzdlsBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
- let op = AzdlsPager::new(self.core.clone(), path.to_string(), args.limit());
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
+ let op = AzdlsLister::new(self.core.clone(), path.to_string(), args.limit());
Ok((RpList::default(), op))
}
diff --git a/core/src/services/azdls/pager.rs b/core/src/services/azdls/lister.rs
similarity index 98%
rename from core/src/services/azdls/pager.rs
rename to core/src/services/azdls/lister.rs
index 19f67d007..a624aa31e 100644
--- a/core/src/services/azdls/pager.rs
+++ b/core/src/services/azdls/lister.rs
@@ -26,7 +26,7 @@ use super::error::parse_error;
use crate::raw::*;
use crate::*;
-pub struct AzdlsPager {
+pub struct AzdlsLister {
core: Arc<AzdlsCore>,
path: String,
@@ -36,7 +36,7 @@ pub struct AzdlsPager {
done: bool,
}
-impl AzdlsPager {
+impl AzdlsLister {
pub fn new(core: Arc<AzdlsCore>, path: String, limit: Option<usize>) -> Self {
Self {
core,
@@ -50,7 +50,7 @@ impl AzdlsPager {
}
#[async_trait]
-impl oio::Page for AzdlsPager {
+impl oio::List for AzdlsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/azdls/mod.rs b/core/src/services/azdls/mod.rs
index 0207e1f6c..4284e4595 100644
--- a/core/src/services/azdls/mod.rs
+++ b/core/src/services/azdls/mod.rs
@@ -20,5 +20,5 @@ pub use backend::AzdlsBuilder as Azdls;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/azfile/backend.rs b/core/src/services/azfile/backend.rs
index 612edb286..d11b34efd 100644
--- a/core/src/services/azfile/backend.rs
+++ b/core/src/services/azfile/backend.rs
@@ -28,7 +28,7 @@ use reqsign::AzureStorageLoader;
use reqsign::AzureStorageSigner;
use crate::raw::*;
-use crate::services::azfile::pager::AzfilePager;
+use crate::services::azfile::lister::AzfileLister;
use crate::*;
use super::core::AzfileCore;
@@ -251,8 +251,8 @@ impl Accessor for AzfileBackend {
type BlockingReader = ();
type Writer = AzfileWriters;
type BlockingWriter = ();
- type Pager = AzfilePager;
- type BlockingPager = ();
+ type Lister = AzfileLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -395,8 +395,8 @@ impl Accessor for AzfileBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
- let op = AzfilePager::new(self.core.clone(), path.to_string(), args.limit());
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
+ let op = AzfileLister::new(self.core.clone(), path.to_string(), args.limit());
Ok((RpList::default(), op))
}
diff --git a/core/src/services/azfile/pager.rs b/core/src/services/azfile/lister.rs
similarity index 98%
rename from core/src/services/azfile/pager.rs
rename to core/src/services/azfile/lister.rs
index 8272d19f0..cd17aef33 100644
--- a/core/src/services/azfile/pager.rs
+++ b/core/src/services/azfile/lister.rs
@@ -28,7 +28,7 @@ use crate::*;
use super::core::AzfileCore;
use super::error::parse_error;
-pub struct AzfilePager {
+pub struct AzfileLister {
core: Arc<AzfileCore>,
path: String,
limit: Option<usize>,
@@ -36,7 +36,7 @@ pub struct AzfilePager {
continuation: String,
}
-impl AzfilePager {
+impl AzfileLister {
pub fn new(core: Arc<AzfileCore>, path: String, limit: Option<usize>) -> Self {
Self {
core,
@@ -49,7 +49,7 @@ impl AzfilePager {
}
#[async_trait]
-impl oio::Page for AzfilePager {
+impl oio::List for AzfileLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/azfile/mod.rs b/core/src/services/azfile/mod.rs
index 8aeebac0f..0ae9da729 100644
--- a/core/src/services/azfile/mod.rs
+++ b/core/src/services/azfile/mod.rs
@@ -20,5 +20,5 @@ pub use backend::AzfileBuilder as Azfile;
mod backend;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/cos/backend.rs b/core/src/services/cos/backend.rs
index f03311f45..dbf2f9b1f 100644
--- a/core/src/services/cos/backend.rs
+++ b/core/src/services/cos/backend.rs
@@ -29,7 +29,7 @@ use reqsign::TencentCosSigner;
use super::core::CosCore;
use super::error::parse_error;
-use super::pager::CosPager;
+use super::lister::CosLister;
use super::writer::CosWriter;
use crate::raw::*;
use crate::services::cos::writer::CosWriters;
@@ -245,8 +245,8 @@ impl Accessor for CosBackend {
type BlockingReader = ();
type Writer = CosWriters;
type BlockingWriter = ();
- type Pager = CosPager;
- type BlockingPager = ();
+ type Lister = CosLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -421,10 +421,10 @@ impl Accessor for CosBackend {
)))
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- CosPager::new(self.core.clone(), path, args.recursive(), args.limit()),
+ CosLister::new(self.core.clone(), path, args.recursive(), args.limit()),
))
}
}
diff --git a/core/src/services/cos/pager.rs b/core/src/services/cos/lister.rs
similarity index 98%
rename from core/src/services/cos/pager.rs
rename to core/src/services/cos/lister.rs
index f2b38d791..55d4bd812 100644
--- a/core/src/services/cos/pager.rs
+++ b/core/src/services/cos/lister.rs
@@ -31,7 +31,7 @@ use crate::ErrorKind;
use crate::Metadata;
use crate::Result;
-pub struct CosPager {
+pub struct CosLister {
core: Arc<CosCore>,
path: String,
delimiter: &'static str,
@@ -41,7 +41,7 @@ pub struct CosPager {
done: bool,
}
-impl CosPager {
+impl CosLister {
pub fn new(core: Arc<CosCore>, path: &str, recursive: bool, limit: Option<usize>) -> Self {
let delimiter = if recursive { "" } else { "/" };
Self {
@@ -57,7 +57,7 @@ impl CosPager {
}
#[async_trait]
-impl oio::Page for CosPager {
+impl oio::List for CosLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/cos/mod.rs b/core/src/services/cos/mod.rs
index b51de4b7e..780c2c479 100644
--- a/core/src/services/cos/mod.rs
+++ b/core/src/services/cos/mod.rs
@@ -20,5 +20,5 @@ pub use backend::CosBuilder as Cos;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/dbfs/backend.rs b/core/src/services/dbfs/backend.rs
index afebda36b..4b13e10ba 100644
--- a/core/src/services/dbfs/backend.rs
+++ b/core/src/services/dbfs/backend.rs
@@ -30,7 +30,7 @@ use crate::*;
use super::core::DbfsCore;
use super::error::parse_error;
-use super::pager::DbfsPager;
+use super::lister::DbfsLister;
use super::reader::DbfsReader;
use super::writer::DbfsWriter;
@@ -158,8 +158,8 @@ impl Accessor for DbfsBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<DbfsWriter>;
type BlockingWriter = ();
- type Pager = DbfsPager;
- type BlockingPager = ();
+ type Lister = DbfsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -275,8 +275,8 @@ impl Accessor for DbfsBackend {
}
}
- async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Pager)> {
- let op = DbfsPager::new(self.core.clone(), path.to_string());
+ async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Lister)> {
+ let op = DbfsLister::new(self.core.clone(), path.to_string());
Ok((RpList::default(), op))
}
diff --git a/core/src/services/dbfs/pager.rs b/core/src/services/dbfs/lister.rs
similarity index 97%
rename from core/src/services/dbfs/pager.rs
rename to core/src/services/dbfs/lister.rs
index 58aef5d75..fd27b912b 100644
--- a/core/src/services/dbfs/pager.rs
+++ b/core/src/services/dbfs/lister.rs
@@ -27,13 +27,13 @@ use crate::*;
use super::error::parse_error;
-pub struct DbfsPager {
+pub struct DbfsLister {
core: Arc<DbfsCore>,
path: String,
done: bool,
}
-impl DbfsPager {
+impl DbfsLister {
pub fn new(core: Arc<DbfsCore>, path: String) -> Self {
Self {
core,
@@ -44,7 +44,7 @@ impl DbfsPager {
}
#[async_trait]
-impl oio::Page for DbfsPager {
+impl oio::List for DbfsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/dbfs/mod.rs b/core/src/services/dbfs/mod.rs
index bb7205031..5a310d088 100644
--- a/core/src/services/dbfs/mod.rs
+++ b/core/src/services/dbfs/mod.rs
@@ -20,6 +20,6 @@ pub use backend::DbfsBuilder as Dbfs;
mod core;
mod error;
-mod pager;
+mod lister;
mod reader;
mod writer;
diff --git a/core/src/services/dropbox/backend.rs b/core/src/services/dropbox/backend.rs
index 498bb22cd..6aef1c9f7 100644
--- a/core/src/services/dropbox/backend.rs
+++ b/core/src/services/dropbox/backend.rs
@@ -52,8 +52,8 @@ impl Accessor for DropboxBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<DropboxWriter>;
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
diff --git a/core/src/services/fs/backend.rs b/core/src/services/fs/backend.rs
index 874acfce4..c3dad8bc5 100644
--- a/core/src/services/fs/backend.rs
+++ b/core/src/services/fs/backend.rs
@@ -24,7 +24,7 @@ use chrono::DateTime;
use log::debug;
use uuid::Uuid;
-use super::pager::FsPager;
+use super::lister::FsLister;
use super::writer::FsWriter;
use crate::raw::*;
use crate::*;
@@ -248,8 +248,8 @@ impl Accessor for FsBackend {
type BlockingReader = oio::StdReader<std::fs::File>;
type Writer = FsWriter<tokio::fs::File>;
type BlockingWriter = FsWriter<std::fs::File>;
- type Pager = Option<FsPager<tokio::fs::ReadDir>>;
- type BlockingPager = Option<FsPager<std::fs::ReadDir>>;
+ type Lister = Option<FsLister<tokio::fs::ReadDir>>;
+ type BlockingLister = Option<FsLister<std::fs::ReadDir>>;
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -446,7 +446,7 @@ impl Accessor for FsBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let p = self.root.join(path.trim_end_matches('/'));
let f = match tokio::fs::read_dir(&p).await {
@@ -460,7 +460,7 @@ impl Accessor for FsBackend {
}
};
- let rd = FsPager::new(&self.root, f, args.limit());
+ let rd = FsLister::new(&self.root, f, args.limit());
Ok((RpList::default(), Some(rd)))
}
@@ -617,7 +617,7 @@ impl Accessor for FsBackend {
}
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let p = self.root.join(path.trim_end_matches('/'));
let f = match std::fs::read_dir(p) {
@@ -631,7 +631,7 @@ impl Accessor for FsBackend {
}
};
- let rd = FsPager::new(&self.root, f, args.limit());
+ let rd = FsLister::new(&self.root, f, args.limit());
Ok((RpList::default(), Some(rd)))
}
diff --git a/core/src/services/fs/pager.rs b/core/src/services/fs/lister.rs
similarity index 96%
rename from core/src/services/fs/pager.rs
rename to core/src/services/fs/lister.rs
index 1c1e1fcce..403f674e8 100644
--- a/core/src/services/fs/pager.rs
+++ b/core/src/services/fs/lister.rs
@@ -25,14 +25,14 @@ use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct FsPager<P> {
+pub struct FsLister<P> {
root: PathBuf,
size: usize,
rd: P,
}
-impl<P> FsPager<P> {
+impl<P> FsLister<P> {
pub fn new(root: &Path, rd: P, limit: Option<usize>) -> Self {
Self {
root: root.to_owned(),
@@ -43,7 +43,7 @@ impl<P> FsPager<P> {
}
#[async_trait]
-impl oio::Page for FsPager<tokio::fs::ReadDir> {
+impl oio::List for FsLister<tokio::fs::ReadDir> {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut oes: Vec<oio::Entry> = Vec::with_capacity(self.size);
@@ -84,7 +84,7 @@ impl oio::Page for FsPager<tokio::fs::ReadDir> {
}
}
-impl oio::BlockingPage for FsPager<std::fs::ReadDir> {
+impl oio::BlockingList for FsLister<std::fs::ReadDir> {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut oes: Vec<oio::Entry> = Vec::with_capacity(self.size);
diff --git a/core/src/services/fs/mod.rs b/core/src/services/fs/mod.rs
index 28aae0814..fd51bffc9 100644
--- a/core/src/services/fs/mod.rs
+++ b/core/src/services/fs/mod.rs
@@ -18,5 +18,5 @@
mod backend;
pub use backend::FsBuilder as Fs;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/ftp/backend.rs b/core/src/services/ftp/backend.rs
index 0b25fd68c..787da112f 100644
--- a/core/src/services/ftp/backend.rs
+++ b/core/src/services/ftp/backend.rs
@@ -37,7 +37,7 @@ use suppaftp::FtpStream;
use suppaftp::Status;
use tokio::sync::OnceCell;
-use super::pager::FtpPager;
+use super::lister::FtpLister;
use super::util::FtpReader;
use super::writer::FtpWriter;
use crate::raw::*;
@@ -284,8 +284,8 @@ impl Accessor for FtpBackend {
type BlockingReader = ();
type Writer = FtpWriters;
type BlockingWriter = ();
- type Pager = FtpPager;
- type BlockingPager = ();
+ type Lister = FtpLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -444,7 +444,7 @@ impl Accessor for FtpBackend {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let mut ftp_stream = self.ftp_connect(Operation::List).await?;
let pathname = if path == "/" { None } else { Some(path) };
@@ -452,7 +452,7 @@ impl Accessor for FtpBackend {
Ok((
RpList::default(),
- FtpPager::new(if path == "/" { "" } else { path }, files, args.limit()),
+ FtpLister::new(if path == "/" { "" } else { path }, files, args.limit()),
))
}
}
diff --git a/core/src/services/ftp/pager.rs b/core/src/services/ftp/lister.rs
similarity index 97%
rename from core/src/services/ftp/pager.rs
rename to core/src/services/ftp/lister.rs
index e1e1c0af1..ba0892e8c 100644
--- a/core/src/services/ftp/pager.rs
+++ b/core/src/services/ftp/lister.rs
@@ -25,13 +25,13 @@ use suppaftp::list::File;
use crate::raw::*;
use crate::*;
-pub struct FtpPager {
+pub struct FtpLister {
path: String,
size: usize,
file_iter: IntoIter<String>,
}
-impl FtpPager {
+impl FtpLister {
pub fn new(path: &str, files: Vec<String>, limit: Option<usize>) -> Self {
Self {
path: path.to_string(),
@@ -42,7 +42,7 @@ impl FtpPager {
}
#[async_trait]
-impl oio::Page for FtpPager {
+impl oio::List for FtpLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut oes: Vec<oio::Entry> = Vec::with_capacity(self.size);
diff --git a/core/src/services/ftp/mod.rs b/core/src/services/ftp/mod.rs
index 963732fd4..85d3d8da9 100644
--- a/core/src/services/ftp/mod.rs
+++ b/core/src/services/ftp/mod.rs
@@ -20,6 +20,6 @@ pub use backend::FtpBuilder as Ftp;
pub use backend::FtpConfig;
mod err;
-mod pager;
+mod lister;
mod util;
mod writer;
diff --git a/core/src/services/gcs/backend.rs b/core/src/services/gcs/backend.rs
index 8fb6eb9a4..c2340b7c5 100644
--- a/core/src/services/gcs/backend.rs
+++ b/core/src/services/gcs/backend.rs
@@ -32,7 +32,7 @@ use serde_json;
use super::core::GcsCore;
use super::error::parse_error;
-use super::pager::GcsPager;
+use super::lister::GcsLister;
use super::writer::GcsWriter;
use crate::raw::*;
use crate::services::gcs::writer::GcsWriters;
@@ -312,8 +312,8 @@ impl Accessor for GcsBackend {
type BlockingReader = ();
type Writer = GcsWriters;
type BlockingWriter = ();
- type Pager = GcsPager;
- type BlockingPager = ();
+ type Lister = GcsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -471,10 +471,10 @@ impl Accessor for GcsBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- GcsPager::new(
+ GcsLister::new(
self.core.clone(),
path,
args.recursive(),
diff --git a/core/src/services/gcs/pager.rs b/core/src/services/gcs/lister.rs
similarity index 98%
rename from core/src/services/gcs/pager.rs
rename to core/src/services/gcs/lister.rs
index 5c4fdc50d..97496f353 100644
--- a/core/src/services/gcs/pager.rs
+++ b/core/src/services/gcs/lister.rs
@@ -26,9 +26,9 @@ use super::error::parse_error;
use crate::raw::*;
use crate::*;
-/// GcsPager takes over task of listing objects and
+/// GcsLister takes over task of listing objects and
/// helps walking directory
-pub struct GcsPager {
+pub struct GcsLister {
core: Arc<GcsCore>,
path: String,
@@ -43,7 +43,7 @@ pub struct GcsPager {
done: bool,
}
-impl GcsPager {
+impl GcsLister {
/// Generate a new directory walker
pub fn new(
core: Arc<GcsCore>,
@@ -68,7 +68,7 @@ impl GcsPager {
}
#[async_trait]
-impl oio::Page for GcsPager {
+impl oio::List for GcsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/gcs/mod.rs b/core/src/services/gcs/mod.rs
index 6f95267c4..4552a46f9 100644
--- a/core/src/services/gcs/mod.rs
+++ b/core/src/services/gcs/mod.rs
@@ -20,6 +20,6 @@ pub use backend::GcsBuilder as Gcs;
mod core;
mod error;
-mod pager;
+mod lister;
mod uri;
mod writer;
diff --git a/core/src/services/gdrive/backend.rs b/core/src/services/gdrive/backend.rs
index 029f79a08..f0d9da1b1 100644
--- a/core/src/services/gdrive/backend.rs
+++ b/core/src/services/gdrive/backend.rs
@@ -27,7 +27,7 @@ use serde_json::json;
use super::core::GdriveCore;
use super::error::parse_error;
-use super::pager::GdrivePager;
+use super::lister::GdriveLister;
use super::writer::GdriveWriter;
use crate::raw::*;
use crate::services::gdrive::core::GdriveFile;
@@ -45,8 +45,8 @@ impl Accessor for GdriveBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<GdriveWriter>;
type BlockingWriter = ();
- type Pager = GdrivePager;
- type BlockingPager = ();
+ type Lister = GdriveLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
@@ -212,10 +212,10 @@ impl Accessor for GdriveBackend {
}
}
- async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- GdrivePager::new(path.into(), self.core.clone()),
+ GdriveLister::new(path.into(), self.core.clone()),
))
}
diff --git a/core/src/services/gdrive/pager.rs b/core/src/services/gdrive/lister.rs
similarity index 97%
rename from core/src/services/gdrive/pager.rs
rename to core/src/services/gdrive/lister.rs
index a3c836592..53d8f86c4 100644
--- a/core/src/services/gdrive/pager.rs
+++ b/core/src/services/gdrive/lister.rs
@@ -30,14 +30,14 @@ use crate::raw::oio::{self};
use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct GdrivePager {
+pub struct GdriveLister {
path: String,
core: Arc<GdriveCore>,
next_page_token: Option<String>,
done: bool,
}
-impl GdrivePager {
+impl GdriveLister {
pub fn new(path: String, core: Arc<GdriveCore>) -> Self {
Self {
path,
@@ -49,7 +49,7 @@ impl GdrivePager {
}
#[async_trait]
-impl oio::Page for GdrivePager {
+impl oio::List for GdriveLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/gdrive/mod.rs b/core/src/services/gdrive/mod.rs
index 2ef0caaec..015f177b2 100644
--- a/core/src/services/gdrive/mod.rs
+++ b/core/src/services/gdrive/mod.rs
@@ -21,5 +21,5 @@ mod core;
mod error;
pub use builder::GdriveBuilder as Gdrive;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/ghac/backend.rs b/core/src/services/ghac/backend.rs
index b163a8f90..92d105892 100644
--- a/core/src/services/ghac/backend.rs
+++ b/core/src/services/ghac/backend.rs
@@ -230,8 +230,8 @@ impl Accessor for GhacBackend {
type BlockingReader = ();
type Writer = GhacWriter;
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
diff --git a/core/src/services/hdfs/backend.rs b/core/src/services/hdfs/backend.rs
index cbcaea45f..acb8d452f 100644
--- a/core/src/services/hdfs/backend.rs
+++ b/core/src/services/hdfs/backend.rs
@@ -24,7 +24,7 @@ use std::sync::Arc;
use async_trait::async_trait;
use log::debug;
-use super::pager::HdfsPager;
+use super::lister::HdfsLister;
use super::writer::HdfsWriter;
use crate::raw::*;
use crate::*;
@@ -161,8 +161,8 @@ impl Accessor for HdfsBackend {
type BlockingReader = oio::StdReader<hdrs::File>;
type Writer = HdfsWriter<hdrs::AsyncFile>;
type BlockingWriter = HdfsWriter<hdrs::File>;
- type Pager = Option<HdfsPager>;
- type BlockingPager = Option<HdfsPager>;
+ type Lister = Option<HdfsLister>;
+ type BlockingLister = Option<HdfsLister>;
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -296,7 +296,7 @@ impl Accessor for HdfsBackend {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let p = build_rooted_abs_path(&self.root, path);
let f = match self.client.read_dir(&p) {
@@ -310,7 +310,7 @@ impl Accessor for HdfsBackend {
}
};
- let rd = HdfsPager::new(&self.root, f, args.limit());
+ let rd = HdfsLister::new(&self.root, f, args.limit());
Ok((RpList::default(), Some(rd)))
}
@@ -413,7 +413,7 @@ impl Accessor for HdfsBackend {
Ok(RpDelete::default())
}
- fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingPager)> {
+ fn blocking_list(&self, path: &str, args: OpList) -> Result<(RpList, Self::BlockingLister)> {
let p = build_rooted_abs_path(&self.root, path);
let f = match self.client.read_dir(&p) {
@@ -427,7 +427,7 @@ impl Accessor for HdfsBackend {
}
};
- let rd = HdfsPager::new(&self.root, f, args.limit());
+ let rd = HdfsLister::new(&self.root, f, args.limit());
Ok((RpList::default(), Some(rd)))
}
diff --git a/core/src/services/hdfs/pager.rs b/core/src/services/hdfs/lister.rs
similarity index 96%
rename from core/src/services/hdfs/pager.rs
rename to core/src/services/hdfs/lister.rs
index 28b8ca5f9..5e31c1e14 100644
--- a/core/src/services/hdfs/pager.rs
+++ b/core/src/services/hdfs/lister.rs
@@ -22,14 +22,14 @@ use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct HdfsPager {
+pub struct HdfsLister {
root: String,
size: usize,
rd: hdrs::Readdir,
}
-impl HdfsPager {
+impl HdfsLister {
pub fn new(root: &str, rd: hdrs::Readdir, limit: Option<usize>) -> Self {
Self {
root: root.to_string(),
@@ -41,7 +41,7 @@ impl HdfsPager {
}
#[async_trait]
-impl oio::Page for HdfsPager {
+impl oio::List for HdfsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut oes: Vec<oio::Entry> = Vec::with_capacity(self.size);
@@ -72,7 +72,7 @@ impl oio::Page for HdfsPager {
}
}
-impl oio::BlockingPage for HdfsPager {
+impl oio::BlockingList for HdfsLister {
fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut oes: Vec<oio::Entry> = Vec::with_capacity(self.size);
diff --git a/core/src/services/hdfs/mod.rs b/core/src/services/hdfs/mod.rs
index 996a654fa..da4ae5c63 100644
--- a/core/src/services/hdfs/mod.rs
+++ b/core/src/services/hdfs/mod.rs
@@ -18,5 +18,5 @@
mod backend;
pub use backend::HdfsBuilder as Hdfs;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/http/backend.rs b/core/src/services/http/backend.rs
index 879f691b2..b10eba4a8 100644
--- a/core/src/services/http/backend.rs
+++ b/core/src/services/http/backend.rs
@@ -228,8 +228,8 @@ impl Accessor for HttpBackend {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
diff --git a/core/src/services/ipfs/backend.rs b/core/src/services/ipfs/backend.rs
index 8dcf8610e..2c1681dbe 100644
--- a/core/src/services/ipfs/backend.rs
+++ b/core/src/services/ipfs/backend.rs
@@ -165,8 +165,8 @@ impl Accessor for IpfsBackend {
type BlockingReader = ();
type Writer = ();
type BlockingWriter = ();
- type Pager = DirStream;
- type BlockingPager = ();
+ type Lister = DirStream;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
@@ -350,7 +350,7 @@ impl Accessor for IpfsBackend {
}
}
- async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
DirStream::new(Arc::new(self.clone()), path),
@@ -429,7 +429,7 @@ impl DirStream {
}
#[async_trait]
-impl oio::Page for DirStream {
+impl oio::List for DirStream {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.consumed {
return Ok(None);
diff --git a/core/src/services/ipmfs/backend.rs b/core/src/services/ipmfs/backend.rs
index ef39c17f0..26c06d569 100644
--- a/core/src/services/ipmfs/backend.rs
+++ b/core/src/services/ipmfs/backend.rs
@@ -27,7 +27,7 @@ use http::StatusCode;
use serde::Deserialize;
use super::error::parse_error;
-use super::pager::IpmfsPager;
+use super::lister::IpmfsLister;
use super::writer::IpmfsWriter;
use crate::raw::*;
use crate::*;
@@ -66,8 +66,8 @@ impl Accessor for IpmfsBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<IpmfsWriter>;
type BlockingWriter = ();
- type Pager = IpmfsPager;
- type BlockingPager = ();
+ type Lister = IpmfsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -170,10 +170,10 @@ impl Accessor for IpmfsBackend {
}
}
- async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, _: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- IpmfsPager::new(Arc::new(self.clone()), &self.root, path),
+ IpmfsLister::new(Arc::new(self.clone()), &self.root, path),
))
}
}
diff --git a/core/src/services/ipmfs/pager.rs b/core/src/services/ipmfs/lister.rs
similarity index 97%
rename from core/src/services/ipmfs/pager.rs
rename to core/src/services/ipmfs/lister.rs
index ac5b157d9..535c982b1 100644
--- a/core/src/services/ipmfs/pager.rs
+++ b/core/src/services/ipmfs/lister.rs
@@ -28,14 +28,14 @@ use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct IpmfsPager {
+pub struct IpmfsLister {
backend: Arc<IpmfsBackend>,
root: String,
path: String,
consumed: bool,
}
-impl IpmfsPager {
+impl IpmfsLister {
pub fn new(backend: Arc<IpmfsBackend>, root: &str, path: &str) -> Self {
Self {
backend,
@@ -47,7 +47,7 @@ impl IpmfsPager {
}
#[async_trait]
-impl oio::Page for IpmfsPager {
+impl oio::List for IpmfsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.consumed {
return Ok(None);
diff --git a/core/src/services/ipmfs/mod.rs b/core/src/services/ipmfs/mod.rs
index b788d6482..2a7ce5c0a 100644
--- a/core/src/services/ipmfs/mod.rs
+++ b/core/src/services/ipmfs/mod.rs
@@ -20,5 +20,5 @@ mod builder;
pub use builder::IpmfsBuilder as Ipmfs;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/obs/backend.rs b/core/src/services/obs/backend.rs
index f28363af8..6cfe43e4f 100644
--- a/core/src/services/obs/backend.rs
+++ b/core/src/services/obs/backend.rs
@@ -29,7 +29,7 @@ use reqsign::HuaweicloudObsSigner;
use super::core::ObsCore;
use super::error::parse_error;
-use super::pager::ObsPager;
+use super::lister::ObsLister;
use super::writer::ObsWriter;
use crate::raw::*;
use crate::services::obs::writer::ObsWriters;
@@ -252,8 +252,8 @@ impl Accessor for ObsBackend {
type BlockingReader = ();
type Writer = ObsWriters;
type BlockingWriter = ();
- type Pager = ObsPager;
- type BlockingPager = ();
+ type Lister = ObsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -427,10 +427,10 @@ impl Accessor for ObsBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- ObsPager::new(self.core.clone(), path, args.recursive(), args.limit()),
+ ObsLister::new(self.core.clone(), path, args.recursive(), args.limit()),
))
}
}
diff --git a/core/src/services/obs/pager.rs b/core/src/services/obs/lister.rs
similarity index 98%
rename from core/src/services/obs/pager.rs
rename to core/src/services/obs/lister.rs
index 9908d95f7..c96f51e3e 100644
--- a/core/src/services/obs/pager.rs
+++ b/core/src/services/obs/lister.rs
@@ -31,7 +31,7 @@ use crate::ErrorKind;
use crate::Metadata;
use crate::Result;
-pub struct ObsPager {
+pub struct ObsLister {
core: Arc<ObsCore>,
path: String,
delimiter: &'static str,
@@ -41,7 +41,7 @@ pub struct ObsPager {
done: bool,
}
-impl ObsPager {
+impl ObsLister {
pub fn new(core: Arc<ObsCore>, path: &str, recursive: bool, limit: Option<usize>) -> Self {
let delimiter = if recursive { "" } else { "/" };
@@ -58,7 +58,7 @@ impl ObsPager {
}
#[async_trait]
-impl oio::Page for ObsPager {
+impl oio::List for ObsLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/obs/mod.rs b/core/src/services/obs/mod.rs
index 9e44b65ef..f8a78290f 100644
--- a/core/src/services/obs/mod.rs
+++ b/core/src/services/obs/mod.rs
@@ -20,5 +20,5 @@ pub use backend::ObsBuilder as Obs;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/onedrive/backend.rs b/core/src/services/onedrive/backend.rs
index 8ed92ab4a..bef175735 100644
--- a/core/src/services/onedrive/backend.rs
+++ b/core/src/services/onedrive/backend.rs
@@ -29,7 +29,7 @@ use super::graph_model::CreateDirPayload;
use super::graph_model::ItemType;
use super::graph_model::OneDriveUploadSessionCreationRequestBody;
use super::graph_model::OnedriveGetItemBody;
-use super::pager::OnedrivePager;
+use super::lister::OnedriveLister;
use super::writer::OneDriveWriter;
use crate::raw::*;
use crate::*;
@@ -66,8 +66,8 @@ impl Accessor for OnedriveBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<OneDriveWriter>;
type BlockingWriter = ();
- type Pager = OnedrivePager;
- type BlockingPager = ();
+ type Lister = OnedriveLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
@@ -162,10 +162,11 @@ impl Accessor for OnedriveBackend {
}
}
- async fn list(&self, path: &str, _op_list: OpList) -> Result<(RpList, Self::Pager)> {
- let pager: OnedrivePager = OnedrivePager::new(self.root.clone(), path.into(), self.clone());
+ async fn list(&self, path: &str, _op_list: OpList) -> Result<(RpList, Self::Lister)> {
+ let lister: OnedriveLister =
+ OnedriveLister::new(self.root.clone(), path.into(), self.clone());
- Ok((RpList::default(), pager))
+ Ok((RpList::default(), lister))
}
async fn create_dir(&self, path: &str, _: OpCreateDir) -> Result<RpCreateDir> {
diff --git a/core/src/services/onedrive/pager.rs b/core/src/services/onedrive/lister.rs
similarity index 97%
rename from core/src/services/onedrive/pager.rs
rename to core/src/services/onedrive/lister.rs
index c960c843e..90daeb866 100644
--- a/core/src/services/onedrive/pager.rs
+++ b/core/src/services/onedrive/lister.rs
@@ -32,7 +32,7 @@ use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct OnedrivePager {
+pub struct OnedriveLister {
root: String,
path: String,
backend: OnedriveBackend,
@@ -40,7 +40,7 @@ pub struct OnedrivePager {
done: bool,
}
-impl OnedrivePager {
+impl OnedriveLister {
const DRIVE_ROOT_PREFIX: &'static str = "/drive/root:";
pub(crate) fn new(root: String, path: String, backend: OnedriveBackend) -> Self {
@@ -55,7 +55,7 @@ impl OnedrivePager {
}
#[async_trait]
-impl oio::Page for OnedrivePager {
+impl oio::List for OnedriveLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
@@ -112,7 +112,7 @@ impl oio::Page for OnedrivePager {
}
}
-impl OnedrivePager {
+impl OnedriveLister {
async fn onedrive_get(&mut self) -> Result<Response<IncomingAsyncBody>> {
let request_url = if let Some(next_link) = &self.next_link {
let next_link_clone = next_link.clone();
diff --git a/core/src/services/onedrive/mod.rs b/core/src/services/onedrive/mod.rs
index 8a0160019..359f1d84e 100644
--- a/core/src/services/onedrive/mod.rs
+++ b/core/src/services/onedrive/mod.rs
@@ -21,5 +21,5 @@ mod error;
mod graph_model;
pub use builder::OnedriveBuilder as Onedrive;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/oss/backend.rs b/core/src/services/oss/backend.rs
index 8fd43971b..c5fc3441c 100644
--- a/core/src/services/oss/backend.rs
+++ b/core/src/services/oss/backend.rs
@@ -32,7 +32,7 @@ use reqsign::AliyunOssSigner;
use super::core::*;
use super::error::parse_error;
-use super::pager::OssPager;
+use super::lister::OssLister;
use super::writer::OssWriter;
use crate::raw::*;
use crate::services::oss::writer::OssWriters;
@@ -380,8 +380,8 @@ impl Accessor for OssBackend {
type BlockingReader = ();
type Writer = OssWriters;
type BlockingWriter = ();
- type Pager = OssPager;
- type BlockingPager = ();
+ type Lister = OssLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -544,10 +544,10 @@ impl Accessor for OssBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- OssPager::new(
+ OssLister::new(
self.core.clone(),
path,
args.recursive(),
diff --git a/core/src/services/oss/pager.rs b/core/src/services/oss/lister.rs
similarity index 99%
rename from core/src/services/oss/pager.rs
rename to core/src/services/oss/lister.rs
index d865b4ec0..7b4b0bce3 100644
--- a/core/src/services/oss/pager.rs
+++ b/core/src/services/oss/lister.rs
@@ -32,7 +32,7 @@ use crate::ErrorKind;
use crate::Metadata;
use crate::Result;
-pub struct OssPager {
+pub struct OssLister {
core: Arc<OssCore>,
path: String,
@@ -46,7 +46,7 @@ pub struct OssPager {
done: bool,
}
-impl OssPager {
+impl OssLister {
pub fn new(
core: Arc<OssCore>,
path: &str,
@@ -69,7 +69,7 @@ impl OssPager {
}
#[async_trait]
-impl oio::Page for OssPager {
+impl oio::List for OssLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/oss/mod.rs b/core/src/services/oss/mod.rs
index 9bfd1692c..3954a9885 100644
--- a/core/src/services/oss/mod.rs
+++ b/core/src/services/oss/mod.rs
@@ -20,5 +20,5 @@ pub use backend::OssBuilder as Oss;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/s3/backend.rs b/core/src/services/s3/backend.rs
index 49cff44b3..7e1ccfc85 100644
--- a/core/src/services/s3/backend.rs
+++ b/core/src/services/s3/backend.rs
@@ -41,7 +41,7 @@ use serde::Deserialize;
use super::core::*;
use super::error::parse_error;
use super::error::parse_s3_error_code;
-use super::pager::S3Pager;
+use super::lister::S3Lister;
use super::writer::S3Writer;
use super::writer::S3Writers;
use crate::raw::*;
@@ -969,8 +969,8 @@ impl Accessor for S3Backend {
type BlockingReader = ();
type Writer = S3Writers;
type BlockingWriter = ();
- type Pager = S3Pager;
- type BlockingPager = ();
+ type Lister = S3Lister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -1133,10 +1133,10 @@ impl Accessor for S3Backend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
Ok((
RpList::default(),
- S3Pager::new(
+ S3Lister::new(
self.core.clone(),
path,
args.recursive(),
diff --git a/core/src/services/s3/pager.rs b/core/src/services/s3/lister.rs
similarity index 99%
rename from core/src/services/s3/pager.rs
rename to core/src/services/s3/lister.rs
index 55ebec1a3..431abd8f1 100644
--- a/core/src/services/s3/pager.rs
+++ b/core/src/services/s3/lister.rs
@@ -29,7 +29,7 @@ use crate::EntryMode;
use crate::Metadata;
use crate::Result;
-pub struct S3Pager {
+pub struct S3Lister {
core: Arc<S3Core>,
path: String,
@@ -43,7 +43,7 @@ pub struct S3Pager {
done: bool,
}
-impl S3Pager {
+impl S3Lister {
pub fn new(
core: Arc<S3Core>,
path: &str,
@@ -67,7 +67,7 @@ impl S3Pager {
}
#[async_trait]
-impl oio::Page for S3Pager {
+impl oio::List for S3Lister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/s3/mod.rs b/core/src/services/s3/mod.rs
index 9e343f9c1..4e2f283cb 100644
--- a/core/src/services/s3/mod.rs
+++ b/core/src/services/s3/mod.rs
@@ -21,5 +21,5 @@ pub use backend::S3Config;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/sftp/backend.rs b/core/src/services/sftp/backend.rs
index 7152f0267..76f792e19 100644
--- a/core/src/services/sftp/backend.rs
+++ b/core/src/services/sftp/backend.rs
@@ -33,7 +33,7 @@ use openssh_sftp_client::SftpOptions;
use super::error::is_not_found;
use super::error::is_sftp_protocol_error;
-use super::pager::SftpPager;
+use super::lister::SftpLister;
use super::writer::SftpWriter;
use crate::raw::*;
use crate::*;
@@ -247,8 +247,8 @@ impl Accessor for SftpBackend {
type BlockingReader = ();
type Writer = SftpWriter;
type BlockingWriter = ();
- type Pager = Option<SftpPager>;
- type BlockingPager = ();
+ type Lister = Option<SftpLister>;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -446,7 +446,7 @@ impl Accessor for SftpBackend {
Ok(RpDelete::default())
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
let client = self.connect().await?;
let mut fs = client.fs();
fs.set_cwd(&self.root);
@@ -467,7 +467,7 @@ impl Accessor for SftpBackend {
Ok((
RpList::default(),
- Some(SftpPager::new(dir, path.to_owned(), args.limit())),
+ Some(SftpLister::new(dir, path.to_owned(), args.limit())),
))
}
}
diff --git a/core/src/services/sftp/pager.rs b/core/src/services/sftp/lister.rs
similarity index 96%
rename from core/src/services/sftp/pager.rs
rename to core/src/services/sftp/lister.rs
index 81c0e22bc..b130629ca 100644
--- a/core/src/services/sftp/pager.rs
+++ b/core/src/services/sftp/lister.rs
@@ -25,19 +25,19 @@ use openssh_sftp_client::fs::ReadDir;
use crate::raw::oio;
use crate::Result;
-pub struct SftpPager {
+pub struct SftpLister {
dir: Pin<Box<ReadDir>>,
prefix: String,
limit: usize,
}
-impl SftpPager {
+impl SftpLister {
pub fn new(dir: ReadDir, path: String, limit: Option<usize>) -> Self {
let prefix = if path == "/" { "".to_owned() } else { path };
let limit = limit.unwrap_or(usize::MAX);
- SftpPager {
+ SftpLister {
dir: Box::pin(dir),
prefix,
limit,
@@ -46,7 +46,7 @@ impl SftpPager {
}
#[async_trait]
-impl oio::Page for SftpPager {
+impl oio::List for SftpLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.limit == 0 {
return Ok(None);
diff --git a/core/src/services/sftp/mod.rs b/core/src/services/sftp/mod.rs
index 8672e88da..fcc74afc2 100644
--- a/core/src/services/sftp/mod.rs
+++ b/core/src/services/sftp/mod.rs
@@ -20,6 +20,6 @@ pub use backend::SftpConfig;
mod backend;
mod error;
-mod pager;
+mod lister;
mod utils;
mod writer;
diff --git a/core/src/services/supabase/backend.rs b/core/src/services/supabase/backend.rs
index b96bbd3ef..3831ed0a0 100644
--- a/core/src/services/supabase/backend.rs
+++ b/core/src/services/supabase/backend.rs
@@ -160,9 +160,9 @@ impl Accessor for SupabaseBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<SupabaseWriter>;
type BlockingWriter = ();
- // todo: implement Pager to support list and scan
- type Pager = ();
- type BlockingPager = ();
+ // todo: implement Lister to support list and scan
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
diff --git a/core/src/services/swift/backend.rs b/core/src/services/swift/backend.rs
index 50cec342c..6f6b22dba 100644
--- a/core/src/services/swift/backend.rs
+++ b/core/src/services/swift/backend.rs
@@ -26,7 +26,7 @@ use log::debug;
use super::core::SwiftCore;
use super::error::parse_error;
-use super::pager::SwiftPager;
+use super::lister::SwiftLister;
use super::writer::SwiftWriter;
use crate::raw::*;
use crate::*;
@@ -218,8 +218,8 @@ impl Accessor for SwiftBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<SwiftWriter>;
type BlockingWriter = ();
- type Pager = SwiftPager;
- type BlockingPager = ();
+ type Lister = SwiftLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -328,8 +328,8 @@ impl Accessor for SwiftBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
- let op = SwiftPager::new(self.core.clone(), path.to_string(), args.recursive());
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
+ let op = SwiftLister::new(self.core.clone(), path.to_string(), args.recursive());
Ok((RpList::default(), op))
}
diff --git a/core/src/services/swift/pager.rs b/core/src/services/swift/lister.rs
similarity index 98%
rename from core/src/services/swift/pager.rs
rename to core/src/services/swift/lister.rs
index 62ff2304b..d69bb42b5 100644
--- a/core/src/services/swift/pager.rs
+++ b/core/src/services/swift/lister.rs
@@ -25,14 +25,14 @@ use super::error::parse_error;
use crate::raw::*;
use crate::*;
-pub struct SwiftPager {
+pub struct SwiftLister {
core: Arc<SwiftCore>,
path: String,
delimiter: &'static str,
done: bool,
}
-impl SwiftPager {
+impl SwiftLister {
pub fn new(core: Arc<SwiftCore>, path: String, recursive: bool) -> Self {
let delimiter = if recursive { "" } else { "/" };
Self {
@@ -45,7 +45,7 @@ impl SwiftPager {
}
#[async_trait]
-impl oio::Page for SwiftPager {
+impl oio::List for SwiftLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.done {
return Ok(None);
diff --git a/core/src/services/swift/mod.rs b/core/src/services/swift/mod.rs
index 7e5f93525..9cfeb92e0 100644
--- a/core/src/services/swift/mod.rs
+++ b/core/src/services/swift/mod.rs
@@ -20,5 +20,5 @@ pub use backend::SwiftBuilder as Swift;
mod core;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/vercel_artifacts/backend.rs b/core/src/services/vercel_artifacts/backend.rs
index f205d3cc4..9af126444 100644
--- a/core/src/services/vercel_artifacts/backend.rs
+++ b/core/src/services/vercel_artifacts/backend.rs
@@ -49,8 +49,8 @@ impl Accessor for VercelArtifactsBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<VercelArtifactsWriter>;
type BlockingWriter = ();
- type Pager = ();
- type BlockingPager = ();
+ type Lister = ();
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
diff --git a/core/src/services/webdav/backend.rs b/core/src/services/webdav/backend.rs
index 310c1a0fe..09e0f839a 100644
--- a/core/src/services/webdav/backend.rs
+++ b/core/src/services/webdav/backend.rs
@@ -31,8 +31,8 @@ use http::StatusCode;
use log::debug;
use super::error::parse_error;
-use super::pager::Multistatus;
-use super::pager::WebdavPager;
+use super::lister::Multistatus;
+use super::lister::WebdavLister;
use super::writer::WebdavWriter;
use crate::raw::*;
use crate::*;
@@ -223,8 +223,8 @@ impl Accessor for WebdavBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<WebdavWriter>;
type BlockingWriter = ();
- type Pager = Option<WebdavPager>;
- type BlockingPager = ();
+ type Lister = Option<WebdavLister>;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut ma = AccessorInfo::default();
@@ -378,7 +378,7 @@ impl Accessor for WebdavBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
if args.recursive() {
return Err(Error::new(
ErrorKind::Unsupported,
@@ -400,7 +400,7 @@ impl Accessor for WebdavBackend {
Ok((
RpList::default(),
- Some(WebdavPager::new(&self.base_dir, &self.root, path, result)),
+ Some(WebdavLister::new(&self.base_dir, &self.root, path, result)),
))
}
StatusCode::NOT_FOUND if path.ends_with('/') => Ok((RpList::default(), None)),
diff --git a/core/src/services/webdav/pager.rs b/core/src/services/webdav/lister.rs
similarity index 99%
rename from core/src/services/webdav/pager.rs
rename to core/src/services/webdav/lister.rs
index 519cae33f..84e97aca6 100644
--- a/core/src/services/webdav/pager.rs
+++ b/core/src/services/webdav/lister.rs
@@ -22,14 +22,14 @@ use serde::Deserialize;
use crate::raw::*;
use crate::*;
-pub struct WebdavPager {
+pub struct WebdavLister {
base_dir: String,
root: String,
path: String,
multistates: Multistatus,
}
-impl WebdavPager {
+impl WebdavLister {
pub fn new(base_dir: &str, root: &str, path: &str, multistates: Multistatus) -> Self {
Self {
base_dir: base_dir.to_string(),
@@ -41,7 +41,7 @@ impl WebdavPager {
}
#[async_trait]
-impl oio::Page for WebdavPager {
+impl oio::List for WebdavLister {
async fn next(&mut self) -> Result<Option<Vec<oio::Entry>>> {
if self.multistates.response.is_empty() {
return Ok(None);
diff --git a/core/src/services/webdav/mod.rs b/core/src/services/webdav/mod.rs
index 2b46724bb..d8d72c449 100644
--- a/core/src/services/webdav/mod.rs
+++ b/core/src/services/webdav/mod.rs
@@ -19,5 +19,5 @@ mod backend;
pub use backend::WebdavBuilder as Webdav;
mod error;
-mod pager;
+mod lister;
mod writer;
diff --git a/core/src/services/webhdfs/backend.rs b/core/src/services/webhdfs/backend.rs
index b80423b6d..3352e47d0 100644
--- a/core/src/services/webhdfs/backend.rs
+++ b/core/src/services/webhdfs/backend.rs
@@ -29,12 +29,12 @@ use tokio::sync::OnceCell;
use super::error::parse_error;
use super::error::parse_error_msg;
+use super::lister::WebhdfsLister;
use super::message::BooleanResp;
use super::message::DirectoryListingWrapper;
use super::message::FileStatusType;
use super::message::FileStatusWrapper;
use super::message::FileStatusesWrapper;
-use super::pager::WebhdfsPager;
use super::writer::WebhdfsWriter;
use crate::raw::*;
use crate::*;
@@ -402,8 +402,8 @@ impl Accessor for WebhdfsBackend {
type BlockingReader = ();
type Writer = oio::OneShotWriter<WebhdfsWriter>;
type BlockingWriter = ();
- type Pager = WebhdfsPager;
- type BlockingPager = ();
+ type Lister = WebhdfsLister;
+ type BlockingLister = ();
fn info(&self) -> AccessorInfo {
let mut am = AccessorInfo::default();
@@ -540,7 +540,7 @@ impl Accessor for WebhdfsBackend {
}
}
- async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Pager)> {
+ async fn list(&self, path: &str, args: OpList) -> Result<(RpList, Self::Lister)> {
if args.recursive() {
return Err(Error::new(
ErrorKind::Unsupported,
@@ -560,12 +560,12 @@ impl Accessor for WebhdfsBackend {
.map_err(new_json_deserialize_error)?
.directory_listing;
let file_statuses = directory_listing.partial_listing.file_statuses.file_status;
- let mut objects = WebhdfsPager::new(self.clone(), path, file_statuses);
+ let mut objects = WebhdfsLister::new(self.clone(), path, file_statuses);
objects.set_remaining_entries(directory_listing.remaining_entries);
Ok((RpList::default(), objects))
}
StatusCode::NOT_FOUND => {
- let objects = WebhdfsPager::new(self.clone(), path, vec![]);
+ let objects = WebhdfsLister::new(self.clone(), path, vec![]);
Ok((RpList::default(), objects))
}
_ => Err(parse_error(resp).await?),
@@ -580,11 +580,11 @@ impl Accessor for WebhdfsBackend {
.map_err(new_json_deserialize_error)?
.file_statuses
.file_status;
- let objects = WebhdfsPager::new(self.clone(), path, file_statuses);
+ let objects = WebhdfsLister::new(self.clone(), path, file_statuses);
Ok((RpList::default(), objects))
}
StatusCode::NOT_FOUND => {
- let objects = WebhdfsPager::new(self.clone(), path, vec![]);
+ let objects = WebhdfsLister::new(self.clone(), path, vec![]);
Ok((RpList::default(), objects))
}
_ => Err(parse_error(resp).await?),
diff --git a/core/src/services/webhdfs/pager.rs b/core/src/services/webhdfs/lister.rs
similarity index 97%
rename from core/src/services/webhdfs/pager.rs
rename to core/src/services/webhdfs/lister.rs
index c55252c3d..8c6579a5d 100644
--- a/core/src/services/webhdfs/pager.rs
+++ b/core/src/services/webhdfs/lister.rs
@@ -26,7 +26,7 @@ use super::message::FileStatusType;
use crate::raw::*;
use crate::*;
-pub struct WebhdfsPager {
+pub struct WebhdfsLister {
backend: WebhdfsBackend,
path: String,
statuses: Vec<FileStatus>,
@@ -34,7 +34,7 @@ pub struct WebhdfsPager {
remaining_entries: u32,
}
-impl WebhdfsPager {
+impl WebhdfsLister {
pub fn new(backend: WebhdfsBackend, path: &str, statuses: Vec<FileStatus>) -> Self {
Self {
backend,
@@ -51,7 +51,7 @@ impl WebhdfsPager {
}
#[async_trait]
-impl oio::Page for WebhdfsPager {
+impl oio::List for WebhdfsLister {
/// Returns the next page of entries.
///
/// Note: default list status with batch, calling next will query for next batch if `remaining_entries` > 0.
@@ -98,7 +98,7 @@ impl oio::Page for WebhdfsPager {
}
}
-impl WebhdfsPager {
+impl WebhdfsLister {
/// Returns the next page of entries.
fn webhdfs_get_next_list_statuses(&mut self) -> Result<Option<Vec<oio::Entry>>> {
let mut entries = Vec::with_capacity(self.statuses.len());
diff --git a/core/src/services/webhdfs/mod.rs b/core/src/services/webhdfs/mod.rs
index 3a461ef8b..3bfbbc77d 100644
--- a/core/src/services/webhdfs/mod.rs
+++ b/core/src/services/webhdfs/mod.rs
@@ -19,6 +19,6 @@ mod backend;
pub use backend::WebhdfsBuilder as Webhdfs;
mod error;
+mod lister;
mod message;
-mod pager;
mod writer;
diff --git a/core/src/types/list.rs b/core/src/types/list.rs
index 5d0325b47..ac01496b3 100644
--- a/core/src/types/list.rs
+++ b/core/src/types/list.rs
@@ -30,7 +30,7 @@ use crate::raw::*;
use crate::*;
/// Future constructed by listing.
-type ListFuture = BoxFuture<'static, (oio::Pager, Result<Option<Vec<oio::Entry>>>)>;
+type ListFuture = BoxFuture<'static, (oio::Lister, Result<Option<Vec<oio::Entry>>>)>;
/// Future constructed by stating.
type StatFuture = BoxFuture<'static, (String, Result<RpStat>)>;
@@ -46,7 +46,7 @@ pub struct Lister {
required_metakey: FlagSet<Metakey>,
buf: VecDeque<oio::Entry>,
- pager: Option<oio::Pager>,
+ lister: Option<oio::Lister>,
listing: Option<ListFuture>,
stating: Option<StatFuture>,
}
@@ -60,14 +60,14 @@ impl Lister {
/// Create a new lister.
pub(crate) async fn create(acc: FusedAccessor, path: &str, args: OpList) -> Result<Self> {
let required_metakey = args.metakey();
- let (_, pager) = acc.list(path, args).await?;
+ let (_, lister) = acc.list(path, args).await?;
Ok(Self {
acc,
required_metakey,
buf: VecDeque::new(),
- pager: Some(pager),
+ lister: Some(lister),
listing: None,
stating: None,
})
@@ -113,7 +113,7 @@ impl Stream for Lister {
return match res? {
Some(oes) => {
- self.pager = Some(op);
+ self.lister = Some(op);
self.buf = oes.into();
self.poll_next(cx)
}
@@ -121,12 +121,12 @@ impl Stream for Lister {
};
}
- match self.pager.take() {
- Some(mut pager) => {
+ match self.lister.take() {
+ Some(mut lister) => {
let fut = async move {
- let res = pager.next().await;
+ let res = lister.next().await;
- (pager, res)
+ (lister, res)
};
self.listing = Some(Box::pin(fut));
self.poll_next(cx)
@@ -145,7 +145,7 @@ pub struct BlockingLister {
/// required_metakey is the metakey required by users.
required_metakey: FlagSet<Metakey>,
- pager: Option<oio::BlockingPager>,
+ lister: Option<oio::BlockingLister>,
buf: VecDeque<oio::Entry>,
}
@@ -158,14 +158,14 @@ impl BlockingLister {
/// Create a new lister.
pub(crate) fn create(acc: FusedAccessor, path: &str, args: OpList) -> Result<Self> {
let required_metakey = args.metakey();
- let (_, pager) = acc.blocking_list(path, args)?;
+ let (_, lister) = acc.blocking_list(path, args)?;
Ok(Self {
acc,
required_metakey,
buf: VecDeque::new(),
- pager: Some(pager),
+ lister: Some(lister),
})
}
}
@@ -189,18 +189,18 @@ impl Iterator for BlockingLister {
return Some(Ok(Entry::new(path, metadata)));
}
- let pager = match self.pager.as_mut() {
- Some(pager) => pager,
+ let lister = match self.lister.as_mut() {
+ Some(lister) => lister,
None => return None,
};
- self.buf = match pager.next() {
+ self.buf = match lister.next() {
// Ideally, the convert from `Vec` to `VecDeque` will not do reallocation.
//
// However, this could be changed as described in [impl<T, A> From<Vec<T, A>> for VecDeque<T, A>](https://doc.rust-lang.org/std/collections/struct.VecDeque.html#impl-From%3CVec%3CT%2C%20A%3E%3E-for-VecDeque%3CT%2C%20A%3E)
Ok(Some(entries)) => entries.into(),
Ok(None) => {
- self.pager = None;
+ self.lister = None;
return None;
}
Err(err) => return Some(Err(err)),