pub struct ImapMessageSort { /* private fields */ }Expand description
I/O-free IMAP SORT coroutine with a SEARCH + FETCH client-side fallback.
With fallback == false it sends a plain server SORT. With fallback == true it SEARCHes the candidates, FETCHes the sort keys, and sorts locally,
returning the same Vec<NonZeroU32> either way.
Implementations§
Source§impl ImapMessageSort
impl ImapMessageSort
Sourcepub fn new(
sort_criteria: Vec1<SortCriterion>,
search_criteria: Vec1<SearchKey<'static>>,
opts: ImapMessageSortOptions,
) -> Self
pub fn new( sort_criteria: Vec1<SortCriterion>, search_criteria: Vec1<SearchKey<'static>>, opts: ImapMessageSortOptions, ) -> Self
Creates a coroutine that sorts the messages matching
search_criteria by sort_criteria, server-side or locally.
opts.fallback selects the SEARCH + FETCH client-side path and
opts.uid the UID variant of every command involved.
Trait Implementations§
Source§impl ImapCoroutine for ImapMessageSort
impl ImapCoroutine for ImapMessageSort
Source§type Return = Result<Vec<NonZero<u32>>, ImapMessageSortError>
type Return = Result<Vec<NonZero<u32>>, ImapMessageSortError>
The final value produced on completion.
Source§fn resume(
&mut self,
fragmentizer: &mut Fragmentizer,
arg: Option<&[u8]>,
) -> ImapCoroutineState<Self::Yield, Self::Return>
fn resume( &mut self, fragmentizer: &mut Fragmentizer, arg: Option<&[u8]>, ) -> ImapCoroutineState<Self::Yield, Self::Return>
Pass
None initially or after a WantsWrite, Some(bytes)
after a WantsRead, Some(&[]) on EOF.Auto Trait Implementations§
impl Freeze for ImapMessageSort
impl RefUnwindSafe for ImapMessageSort
impl Send for ImapMessageSort
impl Sync for ImapMessageSort
impl Unpin for ImapMessageSort
impl UnsafeUnpin for ImapMessageSort
impl UnwindSafe for ImapMessageSort
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more