Struct FlatLister

Source
pub struct FlatLister<A: Access, L> { /* private fields */ }
Expand description

FlatLister will walk dir in bottom up way:

  • List nested dir first
  • Go back into parent dirs one by one

Given the following file tree:

.
├── dir_x/
│   ├── dir_y/
│   │   ├── dir_z/
│   │   └── file_c
│   └── file_b
└── file_a

ToFlatLister will output entries like:

dir_x/dir_y/dir_z/file_c
dir_x/dir_y/dir_z/
dir_x/dir_y/file_b
dir_x/dir_y/
dir_x/file_a
dir_x/

§Note

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, ToFlatLister may output parent dirs’ files before nested dirs, this is expected because files always output directly while listing.

Implementations§

Source§

impl<A, L> FlatLister<A, L>
where A: Access,

Source

pub fn new(acc: A, path: &str) -> FlatLister<A, L>

Create a new flat lister

Trait Implementations§

Source§

impl<A, L> List for FlatLister<A, L>
where A: Access<Lister = L>, L: List,

Source§

async fn next(&mut self) -> Result<Option<Entry>>

Fetch a new page of Entry Read more
Source§

impl<A: Access, L> Send for FlatLister<A, L>

§Safety

wasm32 is a special target that we only have one event-loop for this FlatLister.

Source§

impl<A: Access, L> Sync for FlatLister<A, L>

§Safety

We will only take &mut Self reference for FsLister.

Auto Trait Implementations§

§

impl<A, L> Freeze for FlatLister<A, L>
where A: Freeze,

§

impl<A, L> RefUnwindSafe for FlatLister<A, L>

§

impl<A, L> Unpin for FlatLister<A, L>
where L: Unpin,

§

impl<A, L> UnwindSafe for FlatLister<A, L>
where A: UnwindSafe, L: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ServiceExt for T

Source§

fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>
where Self: Sized,

Apply a transformation to the response body. Read more
Source§

fn decompression(self) -> Decompression<Self>
where Self: Sized,

Decompress response bodies. Read more
Source§

fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using HTTP status codes. Read more
Source§

fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using gRPC headers. Read more
Source§

fn follow_redirects(self) -> FollowRedirect<Self>
where Self: Sized,

Follow redirect resposes using the Standard policy. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> MaybeSend for T
where T: Send,