[−]Struct milter::ProtocolOpts
Flags representing milter protocol options.
These flags are used during negotiation. There are two facets to their
meaning: ProtocolOpts
flags denote either what the MTA can do (MTA
advertises capabilities), or what the milter application wants to do
(milter requests capabilities).
Methods
impl ProtocolOpts
pub const NO_CONNECT: ProtocolOpts
Do not use the connect
stage callback.
pub const NO_HELO: ProtocolOpts
Do not use the helo
stage callback.
pub const NO_MAIL: ProtocolOpts
Do not use the mail
stage callback.
pub const NO_RCPT: ProtocolOpts
Do not use the rcpt
stage callback.
pub const NO_DATA: ProtocolOpts
Do not use the data
stage callback.
pub const NO_HEADER: ProtocolOpts
Do not use the header
stage callback.
pub const NO_EOH: ProtocolOpts
Do not use the eoh
stage callback.
pub const NO_BODY: ProtocolOpts
Do not use the body
stage callback.
pub const NO_UNKNOWN: ProtocolOpts
Do not use the unknown
stage callback.
pub const SKIP: ProtocolOpts
Allow skipping further (repeated) calls to the same callback.
pub const REJECTED_RCPT: ProtocolOpts
Also send rejected envelope recipients.
pub const NOREPLY_CONNECT: ProtocolOpts
Respond with Noreply
in the connect
stage.
pub const NOREPLY_HELO: ProtocolOpts
Respond with Noreply
in the helo
stage.
pub const NOREPLY_MAIL: ProtocolOpts
Respond with Noreply
in the mail
stage.
pub const NOREPLY_RCPT: ProtocolOpts
Respond with Noreply
in the rcpt
stage.
pub const NOREPLY_DATA: ProtocolOpts
Respond with Noreply
in the data
stage.
pub const NOREPLY_HEADER: ProtocolOpts
Respond with Noreply
in the header
stage.
pub const NOREPLY_EOH: ProtocolOpts
Respond with Noreply
in the eoh
stage.
pub const NOREPLY_BODY: ProtocolOpts
Respond with Noreply
in the body
stage.
pub const NOREPLY_UNKNOWN: ProtocolOpts
Respond with Noreply
in the unknown
stage.
pub const HEADER_LEADING_SPACE: ProtocolOpts
Neither trim nor add leading space in header values.
Header lines in the canonical form Name: Value
include leading
whitespace in the header value, which is stripped by default (or
added when adding headers). With this option that leading space is
kept exactly as given.
pub const fn empty() -> ProtocolOpts
Returns an empty set of flags
pub const fn all() -> ProtocolOpts
Returns the set containing all flags.
pub const fn bits(&self) -> u64
Returns the raw value of the flags currently stored.
pub fn from_bits(bits: u64) -> Option<ProtocolOpts>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u64) -> ProtocolOpts
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u64) -> ProtocolOpts
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
pub const fn is_empty(&self) -> bool
Returns true
if no flags are currently stored.
pub const fn is_all(&self) -> bool
Returns true
if all flags are currently set.
pub const fn intersects(&self, other: ProtocolOpts) -> bool
Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: ProtocolOpts) -> bool
Returns true
all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: ProtocolOpts)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: ProtocolOpts)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: ProtocolOpts)
Toggles the specified flags in-place.
pub fn set(&mut self, other: ProtocolOpts, value: bool)
Inserts or removes the specified flags depending on the passed value.
Trait Implementations
impl Binary for ProtocolOpts
impl BitAnd<ProtocolOpts> for ProtocolOpts
type Output = ProtocolOpts
The resulting type after applying the &
operator.
fn bitand(self, other: ProtocolOpts) -> ProtocolOpts
Returns the intersection between the two sets of flags.
impl BitAndAssign<ProtocolOpts> for ProtocolOpts
fn bitand_assign(&mut self, other: ProtocolOpts)
Disables all flags disabled in the set.
impl BitOr<ProtocolOpts> for ProtocolOpts
type Output = ProtocolOpts
The resulting type after applying the |
operator.
fn bitor(self, other: ProtocolOpts) -> ProtocolOpts
Returns the union of the two sets of flags.
impl BitOrAssign<ProtocolOpts> for ProtocolOpts
fn bitor_assign(&mut self, other: ProtocolOpts)
Adds the set of flags.
impl BitXor<ProtocolOpts> for ProtocolOpts
type Output = ProtocolOpts
The resulting type after applying the ^
operator.
fn bitxor(self, other: ProtocolOpts) -> ProtocolOpts
Returns the left flags, but with all the right flags toggled.
impl BitXorAssign<ProtocolOpts> for ProtocolOpts
fn bitxor_assign(&mut self, other: ProtocolOpts)
Toggles the set of flags.
impl Clone for ProtocolOpts
fn clone(&self) -> ProtocolOpts
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ProtocolOpts
impl Debug for ProtocolOpts
impl Default for ProtocolOpts
[src]
fn default() -> ProtocolOpts
[src]
impl Eq for ProtocolOpts
impl Extend<ProtocolOpts> for ProtocolOpts
fn extend<T: IntoIterator<Item = ProtocolOpts>>(&mut self, iterator: T)
impl FromIterator<ProtocolOpts> for ProtocolOpts
fn from_iter<T: IntoIterator<Item = ProtocolOpts>>(iterator: T) -> ProtocolOpts
impl Hash for ProtocolOpts
fn hash<__H: Hasher>(&self, state: &mut __H)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl LowerHex for ProtocolOpts
impl Not for ProtocolOpts
type Output = ProtocolOpts
The resulting type after applying the !
operator.
fn not(self) -> ProtocolOpts
Returns the complement of this set of flags.
impl Octal for ProtocolOpts
impl Ord for ProtocolOpts
fn cmp(&self, other: &ProtocolOpts) -> Ordering
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<ProtocolOpts> for ProtocolOpts
fn eq(&self, other: &ProtocolOpts) -> bool
fn ne(&self, other: &ProtocolOpts) -> bool
impl PartialOrd<ProtocolOpts> for ProtocolOpts
fn partial_cmp(&self, other: &ProtocolOpts) -> Option<Ordering>
fn lt(&self, other: &ProtocolOpts) -> bool
fn le(&self, other: &ProtocolOpts) -> bool
fn gt(&self, other: &ProtocolOpts) -> bool
fn ge(&self, other: &ProtocolOpts) -> bool
impl StructuralEq for ProtocolOpts
impl StructuralPartialEq for ProtocolOpts
impl Sub<ProtocolOpts> for ProtocolOpts
type Output = ProtocolOpts
The resulting type after applying the -
operator.
fn sub(self, other: ProtocolOpts) -> ProtocolOpts
Returns the set difference of the two sets of flags.
impl SubAssign<ProtocolOpts> for ProtocolOpts
fn sub_assign(&mut self, other: ProtocolOpts)
Disables all flags enabled in the set.
impl UpperHex for ProtocolOpts
Auto Trait Implementations
impl RefUnwindSafe for ProtocolOpts
impl Send for ProtocolOpts
impl Sync for ProtocolOpts
impl Unpin for ProtocolOpts
impl UnwindSafe for ProtocolOpts
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,