Struct email::imap::ImapContext
source · pub struct ImapContext {
pub account_config: Arc<AccountConfig>,
pub imap_config: Arc<ImapConfig>,
session: Session<Box<dyn ImapConnection>>,
}
Expand description
The IMAP backend context.
This context is unsync, which means it cannot be shared between
threads. For the sync version, see ImapContextSync
.
Fields§
§account_config: Arc<AccountConfig>
The account configuration.
imap_config: Arc<ImapConfig>
The IMAP configuration.
session: Session<Box<dyn ImapConnection>>
The current IMAP session.
Implementations§
source§impl ImapContext
impl ImapContext
sourcepub async fn exec<T, E: AnyError>(
&mut self,
action: impl Fn(&mut Session<Box<dyn ImapConnection>>) -> Result<T>,
map_err: impl Fn(Error) -> E
) -> Result<T>
pub async fn exec<T, E: AnyError>( &mut self, action: impl Fn(&mut Session<Box<dyn ImapConnection>>) -> Result<T>, map_err: impl Fn(Error) -> E ) -> Result<T>
Execute the given action on the current IMAP session.
If an OAuth 2.0 authentication error occurs, the access token is refreshed and the action is executed once again.
pub async fn noop(&mut self) -> Result<()>
Trait Implementations§
source§impl Debug for ImapContext
impl Debug for ImapContext
Auto Trait Implementations§
impl Freeze for ImapContext
impl !RefUnwindSafe for ImapContext
impl Send for ImapContext
impl !Sync for ImapContext
impl Unpin for ImapContext
impl !UnwindSafe for ImapContext
Blanket Implementations§
source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
source§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
source§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
source§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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
source§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
source§impl<T> ConvUtil for T
impl<T> ConvUtil for T
source§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
Approximate the subject to a given type with a specific scheme.