Enum kwap_msg::OptionMustBeProcessed
source · [−]pub enum OptionMustBeProcessed {
Yes,
No,
}
Expand description
Critical/Elective
generated from RFC7252 section 5.4.1
Options fall into one of two classes: “critical” or “elective”. The difference between these is how an option unrecognized by an endpoint is handled:
o Upon reception, unrecognized options of class “elective” MUST be silently ignored.
o Unrecognized options of class “critical” that occur in a Confirmable request MUST cause the return of a 4.02 (Bad Option) response. This response SHOULD include a diagnostic payload describing the unrecognized option(s) (see Section 5.5.2).
o Unrecognized options of class “critical” that occur in a Confirmable response, or piggybacked in an Acknowledgement, MUST cause the response to be rejected (Section 4.2).
o Unrecognized options of class “critical” that occur in a Non- confirmable message MUST cause the message to be rejected (Section 4.3).
Note that, whether critical or elective, an option is never “mandatory” (it is always optional): these rules are defined in order to enable implementations to stop processing options they do not understand or implement.
Critical/elective rules apply to non-proxying endpoints. A proxy processes options based on Unsafe/Safe-to-Forward classes as defined in Section 5.7.
Variants
Yes
This option must be processed, and a response that ignores it will be rejected.
Corresponds to the option being “critical” in strict CoAP terms
No
This option does not need to be processed, and a response that ignores it will be processed anyway.
Corresponds to the option being “elective” in strict CoAP terms
Trait Implementations
sourceimpl Clone for OptionMustBeProcessed
impl Clone for OptionMustBeProcessed
sourcefn clone(&self) -> OptionMustBeProcessed
fn clone(&self) -> OptionMustBeProcessed
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for OptionMustBeProcessed
impl Debug for OptionMustBeProcessed
sourceimpl Ord for OptionMustBeProcessed
impl Ord for OptionMustBeProcessed
sourceimpl PartialOrd<OptionMustBeProcessed> for OptionMustBeProcessed
impl PartialOrd<OptionMustBeProcessed> for OptionMustBeProcessed
sourcefn partial_cmp(&self, other: &OptionMustBeProcessed) -> Option<Ordering>
fn partial_cmp(&self, other: &OptionMustBeProcessed) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for OptionMustBeProcessed
impl Eq for OptionMustBeProcessed
impl StructuralEq for OptionMustBeProcessed
impl StructuralPartialEq for OptionMustBeProcessed
Auto Trait Implementations
impl RefUnwindSafe for OptionMustBeProcessed
impl Send for OptionMustBeProcessed
impl Sync for OptionMustBeProcessed
impl Unpin for OptionMustBeProcessed
impl UnwindSafe for OptionMustBeProcessed
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more