Struct ObjectList

Source
#[non_exhaustive]
pub struct ObjectList<P: PointerFamily = ArcPointer, Item = Object<P>> { /* private fields */ }
Expand description

§存放对象列表的结构体

before name is ObjectList TODO impl core::ops::Index

Implementations§

Source§

impl<T: PointerFamily, Item> ObjectList<T, Item>

Source

pub fn new<Q: IntoIterator<Item = (QueryKey, QueryValue)>>( bucket: BucketBase, prefix: Option<ObjectDir<'static>>, max_keys: u32, key_count: u64, object_list: Vec<Item>, next_continuation_token: Option<String>, client: T::PointerType, search_query: Q, ) -> Self

文件列表的初始化方法

Source

pub fn bucket(&self) -> &BucketBase

返回 bucket 元信息的引用

Source

pub fn prefix(&self) -> &Option<ObjectDir<'static>>

返回 prefix 的引用

Source

pub fn common_prefixes(&self) -> &CommonPrefixes

获取文件夹下的子文件夹名,子文件夹下递归的所有文件和文件夹不包含在这里。

Source

pub fn set_common_prefixes<P: IntoIterator<Item = ObjectDir<'static>>>( &mut self, prefixes: P, )

设置 common_prefixes 信息

Source

pub fn max_keys(&self) -> &u32

返回 max_keys

Source

pub fn key_count(&self) -> &u64

返回 key_count

Source

pub fn next_continuation_token_str(&self) -> &String

§返回下一个 continuation_token

用于翻页使用

Source

pub fn search_query(&self) -> &Query

返回查询条件

Source

pub fn next_query(&self) -> Option<Query>

§下一页的查询条件

如果有下一页,返回 Some(Query) 如果没有下一页,则返回 None

Source

pub fn object_iter(self) -> IntoIter<Item>

将 object 列表转化为迭代器

Source§

impl ObjectList<ArcPointer>

Source

pub async fn get_next_list( &self, ) -> Result<ObjectList<ArcPointer>, ExtractListError>

异步获取下一页的数据 TODO 改为 unstable

Source

pub fn into_stream(self) -> impl Stream<Item = Result<Self, ExtractListError>>

§将 object_list 转化为 stream, 返回第二页,第三页… 的内容

不够完善,最后一次迭代返回的是 Some(Err(OssError::WithoutMore)),而不是 None

§用法
  1. 添加依赖
[dependencies]
futures="0.3"
  1. 将返回结果 pin 住
use futures::{pin_mut, StreamExt};
let stream = object_list.into_stream();
pin_mut!(stream);

let second_list = stream.next().await;
let third_list = stream.next().await;
println!("second_list: {:?}", second_list);
println!("third_list: {:?}", third_list);
Source§

impl<Item> ObjectList<ArcPointer, Item>
where Self: InitObject<Item>,

Source

pub async fn get_next_base<E>( &mut self, ) -> Option<Result<Self, ExtractListError>>
where Item: RefineObject<E>, E: Error + 'static,

§自定义 Item 时,获取下一页数据

当没有下一页查询条件时 返回 None 否则尝试获取下一页数据,成功返回 Some(Ok(_)), 失败返回 Some(Err(_))

Source§

impl ObjectList<RcPointer>

Source

pub fn get_object_list(&self) -> Result<Self, ExtractListError>

从 OSS 获取 object 列表信息

Source§

impl<T: PointerFamily, Item> ObjectList<T, Item>

Source

pub fn set_search_query(&mut self, search_query: Query)

设置查询条件

Source

pub fn set_bucket(&mut self, bucket: BucketBase)

设置 bucket 元信息

Source

pub fn bucket_name(&self) -> &str

获取 bucket 名称

Source

pub fn to_vec(self) -> Vec<Item>

返回 object 的 Vec 集合

Source

pub fn len(&self) -> usize

返回文件数量

Source

pub fn is_empty(&self) -> bool

返回是否存在文件

Trait Implementations§

Source§

impl<Item: Send + Sync> AlignBuilder for ObjectList<ArcPointer, Item>

Source§

fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>

根据具体的 API 接口参数,返回请求的构建器
Source§

fn builder( &self, method: Method, url: Url, resource: CanonicalizedResource, ) -> Result<RequestBuilder, BuilderError>

根据具体的 API 接口参数,返回请求的构建器(不带 headers)
Source§

impl AlignBuilder for ObjectList<RcPointer>

Source§

fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>

根据具体的 API 接口参数,返回请求的构建器
Source§

fn builder( &self, method: Method, url: Url, resource: CanonicalizedResource, ) -> Result<RequestBuilder, BuilderError>

根据具体的 API 接口参数,返回请求的构建器(不带 headers)
Source§

impl<T: PointerFamily, Item> AsMut<Query> for ObjectList<T, Item>

Source§

fn as_mut(&mut self) -> &mut Query

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<T: PointerFamily, Item> AsRef<BucketBase> for ObjectList<T, Item>

Source§

fn as_ref(&self) -> &BucketBase

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: PointerFamily, Item> AsRef<BucketName> for ObjectList<T, Item>

Source§

fn as_ref(&self) -> &BucketName

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T: PointerFamily, Item> AsRef<EndPoint> for ObjectList<T, Item>

Source§

fn as_ref(&self) -> &EndPoint

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<P: Clone + PointerFamily, Item: Clone> Clone for ObjectList<P, Item>
where P::PointerType: Clone,

Source§

fn clone(&self) -> ObjectList<P, Item>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: PointerFamily, Item> Debug for ObjectList<T, Item>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<P: PointerFamily, Item> Default for ObjectList<P, Item>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<Item: RefineObject<BuildInItemError> + Send + Sync, U: GetStd> GetStdWithPath<U> for ObjectList<ArcPointer, Item>

§用于在 ObjectList 上对文件进行操作

文件路径可以是实现 GetStd 特征的类型

TODO remove Send + Sync

Source§

fn get_std_with_path(&self, path: U) -> Option<(Url, CanonicalizedResource)>

根据 path 获取 UrlCanonicalizedResource
Source§

impl InitObject<Object<RcPointer>> for ObjectList<RcPointer, Object<RcPointer>>

Source§

fn init_object(&mut self) -> Option<Object<RcPointer>>

初始化 object 的类型 Read more
Source§

impl InitObject<Object> for ObjectList<ArcPointer, Object<ArcPointer>>

Source§

fn init_object(&mut self) -> Option<Object<ArcPointer>>

初始化 object 的类型 Read more
Source§

impl Iterator for ObjectList<RcPointer>

Source§

type Item = ObjectList<RcPointer>

The type of the elements being iterated over.
Source§

fn next(&mut self) -> Option<Self>

Advances the iterator and returns the next value. Read more
Source§

fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
1.0.0 · Source§

fn count(self) -> usize
where Self: Sized,

Consumes the iterator, counting the number of iterations and returning it. Read more
1.0.0 · Source§

fn last(self) -> Option<Self::Item>
where Self: Sized,

Consumes the iterator, returning the last element. Read more
Source§

fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
1.0.0 · Source§

fn nth(&mut self, n: usize) -> Option<Self::Item>

Returns the nth element of the iterator. Read more
1.28.0 · Source§

fn step_by(self, step: usize) -> StepBy<Self>
where Self: Sized,

Creates an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
1.0.0 · Source§

fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
where Self: Sized, U: IntoIterator<Item = Self::Item>,

Takes two iterators and creates a new iterator over both in sequence. Read more
1.0.0 · Source§

fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
where Self: Sized, U: IntoIterator,

‘Zips up’ two iterators into a single iterator of pairs. Read more
Source§

fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
where Self: Sized, G: FnMut() -> Self::Item,

🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator between adjacent items of the original iterator. Read more
1.0.0 · Source§

fn map<B, F>(self, f: F) -> Map<Self, F>
where Self: Sized, F: FnMut(Self::Item) -> B,

Takes a closure and creates an iterator which calls that closure on each element. Read more
1.21.0 · Source§

fn for_each<F>(self, f: F)
where Self: Sized, F: FnMut(Self::Item),

Calls a closure on each element of an iterator. Read more
1.0.0 · Source§

fn filter<P>(self, predicate: P) -> Filter<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator which uses a closure to determine if an element should be yielded. Read more
1.0.0 · Source§

fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both filters and maps. Read more
1.0.0 · Source§

fn enumerate(self) -> Enumerate<Self>
where Self: Sized,

Creates an iterator which gives the current iteration count as well as the next value. Read more
1.0.0 · Source§

fn peekable(self) -> Peekable<Self>
where Self: Sized,

Creates an iterator which can use the peek and peek_mut methods to look at the next element of the iterator without consuming it. See their documentation for more information. Read more
1.0.0 · Source§

fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that skips elements based on a predicate. Read more
1.0.0 · Source§

fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Creates an iterator that yields elements based on a predicate. Read more
1.57.0 · Source§

fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
where Self: Sized, P: FnMut(Self::Item) -> Option<B>,

Creates an iterator that both yields elements based on a predicate and maps. Read more
1.0.0 · Source§

fn skip(self, n: usize) -> Skip<Self>
where Self: Sized,

Creates an iterator that skips the first n elements. Read more
1.0.0 · Source§

fn take(self, n: usize) -> Take<Self>
where Self: Sized,

Creates an iterator that yields the first n elements, or fewer if the underlying iterator ends sooner. Read more
1.0.0 · Source§

fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
where Self: Sized, F: FnMut(&mut St, Self::Item) -> Option<B>,

An iterator adapter which, like fold, holds internal state, but unlike fold, produces a new iterator. Read more
1.0.0 · Source§

fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
where Self: Sized, U: IntoIterator, F: FnMut(Self::Item) -> U,

Creates an iterator that works like map, but flattens nested structure. Read more
1.29.0 · Source§

fn flatten(self) -> Flatten<Self>
where Self: Sized, Self::Item: IntoIterator,

Creates an iterator that flattens nested structure. Read more
Source§

fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
where Self: Sized, F: FnMut(&[Self::Item; N]) -> R,

🔬This is a nightly-only experimental API. (iter_map_windows)
Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), the windows during mapping overlap as well. Read more
1.0.0 · Source§

fn fuse(self) -> Fuse<Self>
where Self: Sized,

Creates an iterator which ends after the first None. Read more
1.0.0 · Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where Self: Sized, F: FnMut(&Self::Item),

Does something with each element of an iterator, passing the value on. Read more
1.0.0 · Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Iterator. Read more
1.0.0 · Source§

fn collect<B>(self) -> B
where B: FromIterator<Self::Item>, Self: Sized,

Transforms an iterator into a collection. Read more
Source§

fn collect_into<E>(self, collection: &mut E) -> &mut E
where E: Extend<Self::Item>, Self: Sized,

🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
1.0.0 · Source§

fn partition<B, F>(self, f: F) -> (B, B)
where Self: Sized, B: Default + Extend<Self::Item>, F: FnMut(&Self::Item) -> bool,

Consumes an iterator, creating two collections from it. Read more
Source§

fn is_partitioned<P>(self, predicate: P) -> bool
where Self: Sized, P: FnMut(Self::Item) -> bool,

🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, such that all those that return true precede all those that return false. Read more
1.27.0 · Source§

fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
where Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

An iterator method that applies a function as long as it returns successfully, producing a single, final value. Read more
1.27.0 · Source§

fn try_for_each<F, R>(&mut self, f: F) -> R
where Self: Sized, F: FnMut(Self::Item) -> R, R: Try<Output = ()>,

An iterator method that applies a fallible function to each item in the iterator, stopping at the first error and returning that error. Read more
1.0.0 · Source§

fn fold<B, F>(self, init: B, f: F) -> B
where Self: Sized, F: FnMut(B, Self::Item) -> B,

Folds every element into an accumulator by applying an operation, returning the final result. Read more
1.51.0 · Source§

fn reduce<F>(self, f: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(Self::Item, Self::Item) -> Self::Item,

Reduces the elements to a single one, by repeatedly applying a reducing operation. Read more
Source§

fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
where Self: Sized, R: Try<Output = Self::Item>, <R as Try>::Residual: Residual<Option<Self::Item>>,

🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the closure returns a failure, the failure is propagated back to the caller immediately. Read more
1.0.0 · Source§

fn all<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if every element of the iterator matches a predicate. Read more
1.0.0 · Source§

fn any<F>(&mut self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> bool,

Tests if any element of the iterator matches a predicate. Read more
1.0.0 · Source§

fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
where Self: Sized, P: FnMut(&Self::Item) -> bool,

Searches for an element of an iterator that satisfies a predicate. Read more
1.30.0 · Source§

fn find_map<B, F>(&mut self, f: F) -> Option<B>
where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

Applies function to the elements of iterator and returns the first non-none result. Read more
Source§

fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
where Self: Sized, R: Try<Output = bool>, <R as Try>::Residual: Residual<Option<Self::Item>>,

🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns the first true result or the first error. Read more
1.0.0 · Source§

fn position<P>(&mut self, predicate: P) -> Option<usize>
where Self: Sized, P: FnMut(Self::Item) -> bool,

Searches for an element in an iterator, returning its index. Read more
1.6.0 · Source§

fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the maximum value from the specified function. Read more
1.15.0 · Source§

fn max_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the maximum value with respect to the specified comparison function. Read more
1.6.0 · Source§

fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

Returns the element that gives the minimum value from the specified function. Read more
1.15.0 · Source§

fn min_by<F>(self, compare: F) -> Option<Self::Item>
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

Returns the element that gives the minimum value with respect to the specified comparison function. Read more
1.0.0 · Source§

fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
where FromA: Default + Extend<A>, FromB: Default + Extend<B>, Self: Sized + Iterator<Item = (A, B)>,

Converts an iterator of pairs into a pair of containers. Read more
1.36.0 · Source§

fn copied<'a, T>(self) -> Copied<Self>
where T: 'a + Copy, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which copies all of its elements. Read more
1.0.0 · Source§

fn cloned<'a, T>(self) -> Cloned<Self>
where T: 'a + Clone, Self: Sized + Iterator<Item = &'a T>,

Creates an iterator which clones all of its elements. Read more
Source§

fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
1.11.0 · Source§

fn sum<S>(self) -> S
where Self: Sized, S: Sum<Self::Item>,

Sums the elements of an iterator. Read more
1.11.0 · Source§

fn product<P>(self) -> P
where Self: Sized, P: Product<Self::Item>,

Iterates over the entire iterator, multiplying all the elements Read more
Source§

fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 · Source§

fn partial_cmp<I>(self, other: I) -> Option<Ordering>
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Lexicographically compares the PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. As soon as an order can be determined, the evaluation stops and a result is returned. Read more
Source§

fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those of another with respect to the specified comparison function. Read more
1.5.0 · Source§

fn eq<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are equal to those of another. Read more
Source§

fn eq_by<I, F>(self, other: I, eq: F) -> bool
where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of another with respect to the specified equality function. Read more
1.5.0 · Source§

fn ne<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are not equal to those of another. Read more
1.5.0 · Source§

fn lt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less than those of another. Read more
1.5.0 · Source§

fn le<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically less or equal to those of another. Read more
1.5.0 · Source§

fn gt<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than those of another. Read more
1.5.0 · Source§

fn ge<I>(self, other: I) -> bool
where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

Determines if the elements of this Iterator are lexicographically greater than or equal to those of another. Read more
1.82.0 · Source§

fn is_sorted_by<F>(self, compare: F) -> bool
where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> bool,

Checks if the elements of this iterator are sorted using the given comparator function. Read more
1.82.0 · Source§

fn is_sorted_by_key<F, K>(self, f: F) -> bool
where Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd,

Checks if the elements of this iterator are sorted using the given key extraction function. Read more
Source§

impl<P: PointerFamily, Item: RefineObject<E>, E: Error + 'static> RefineObjectList<Item, ObjectListError, E> for ObjectList<P, Item>

Source§

fn set_key_count(&mut self, key_count: &str) -> Result<(), ObjectListError>

提取 key_count
Source§

fn set_prefix(&mut self, prefix: &str) -> Result<(), ObjectListError>

提取前缀
Source§

fn set_common_prefix( &mut self, list: &[Cow<'_, str>], ) -> Result<(), ObjectListError>

提取文件目录
Source§

fn set_max_keys(&mut self, max_keys: &str) -> Result<(), ObjectListError>

提取 max_keys
Source§

fn set_next_continuation_token_str( &mut self, token: &str, ) -> Result<(), ObjectListError>

提取翻页信息 token
Source§

fn set_list(&mut self, list: Vec<Item>) -> Result<(), ObjectListError>

提取 object 列表
Source§

fn set_name(&mut self, _name: &str) -> Result<(), Error>

提取 bucket 名
Source§

fn decode_common_prefix(&mut self, xml: &str) -> Result<(), InnerListError>

用于解析 common prefix
Source§

fn decode<F>(&mut self, xml: &str, init_object: F) -> Result<(), InnerListError>
where F: for<'a> Fn(&'a mut Self) -> Option<T>,

由 xml 转 struct 的底层实现 Read more

Auto Trait Implementations§

§

impl<P, Item> Freeze for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: Freeze,

§

impl<P, Item> RefUnwindSafe for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: RefUnwindSafe, Item: RefUnwindSafe,

§

impl<P, Item> Send for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: Send, Item: Send,

§

impl<P, Item> Sync for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: Sync, Item: Sync,

§

impl<P, Item> Unpin for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: Unpin, Item: Unpin,

§

impl<P, Item> UnwindSafe for ObjectList<P, Item>
where <P as PointerFamily>::PointerType: UnwindSafe, Item: 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<P, T> Files<P> for T
where P: Send + Sync + 'static, T: AlignBuilder + GetStdWithPath<P>,

Source§

const DEFAULT_CONTENT_TYPE: &'static str = DEFAULT_CONTENT_TYPE

默认的文件类型 Read more
Source§

fn put_file<'life0, 'async_trait, P>( &'life0 self, file_name: P, path: Path, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
where P: 'async_trait + Into<PathBuf> + AsRef<Path> + Send + Sync, Self: Sync + 'async_trait, 'life0: 'async_trait,

上传文件到 OSS Read more
Source§

fn put_content<'life0, 'async_trait, F>( &'life0 self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
where F: Fn(&Vec<u8>) -> Option<&'static str> + Send + Sync + 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

上传文件内容到 OSS Read more
Source§

fn put_content_base<'life0, 'life1, 'async_trait>( &'life0 self, content: Vec<u8>, content_type: &'life1 str, path: Path, ) -> Pin<Box<dyn Future<Output = Result<Response, FileError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

最核心的上传文件到 OSS 的方法
Source§

fn get_object<'life0, 'async_trait, Num, R>( &'life0 self, path: Path, range: R, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'async_trait>>
where R: Into<ContentRange<Num>> + Send + Sync + 'async_trait, ContentRange<Num>: Into<HeaderValue>, Num: 'async_trait, Self: Sync + 'async_trait, 'life0: 'async_trait,

获取 OSS 上文件的部分或全部内容 Read more
Source§

fn delete_object<'life0, 'async_trait>( &'life0 self, path: Path, ) -> Pin<Box<dyn Future<Output = Result<(), FileError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

删除 OSS 上的文件 Read more
Source§

impl<P, T> Files<P> for T

Source§

const DEFAULT_CONTENT_TYPE: &'static str = super::DEFAULT_CONTENT_TYPE

默认的文件类型 Read more
Source§

fn put_file<P: Into<PathBuf> + AsRef<Path>>( &self, file_name: P, path: Path, ) -> Result<String, FileError>

上传文件到 OSS Read more
Source§

fn put_content<F>( &self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Result<String, FileError>
where F: Fn(&Vec<u8>) -> Option<&'static str>,

上传文件内容到 OSS Read more
Source§

fn put_content_base( &self, content: Vec<u8>, content_type: &str, path: Path, ) -> Result<Response, FileError>

最原始的上传文件的方法
Source§

fn get_object<Num, R>(&self, path: Path, range: R) -> Result<Vec<u8>, FileError>

获取文件内容 Read more
Source§

fn delete_object(&self, path: Path) -> Result<(), FileError>

删除 OSS 上的文件 Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<B> GetStdWithPath<&ObjectPathInner<'static>> for B
where B: AsRef<BucketBase>,

Source§

fn get_std_with_path( &self, path: &ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>

根据 path 获取 UrlCanonicalizedResource
Source§

impl<B> GetStdWithPath<&str> for B
where B: AsRef<BucketBase>,

Source§

fn get_std_with_path( &self, path: &str, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>

根据 path 获取 UrlCanonicalizedResource
Source§

impl<B> GetStdWithPath<ObjectPathInner<'static>> for B
where B: AsRef<BucketBase>,

Source§

fn get_std_with_path( &self, path: ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>

根据 path 获取 UrlCanonicalizedResource
Source§

impl<B> GetStdWithPath<String> for B
where B: AsRef<BucketBase>,

Source§

fn get_std_with_path( &self, path: String, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>

根据 path 获取 UrlCanonicalizedResource
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<I> IntoIterator for I
where I: Iterator,

Source§

type Item = <I as Iterator>::Item

The type of the elements being iterated over.
Source§

type IntoIter = I

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> I

Creates an iterator from a value. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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<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> ErasedDestructor for T
where T: 'static,