pub enum WhenOptionUnsupportedByProxy {
Error,
Forward,
}
Expand description
Proxy Unsafe or Safe-to-Forward and NoCacheKey
generated from RFC7252 section 5.4.2
In addition to an option being marked as critical or elective, options are also classified based on how a proxy is to deal with the option if it does not recognize it. For this purpose, an option can either be considered Unsafe to forward (UnSafe is set) or Safe-to- Forward (UnSafe is clear).
In addition, for an option that is marked Safe-to-Forward, the option number indicates whether or not it is intended to be part of the Cache-Key (Section 5.6) in a request. If some of the NoCacheKey bits are 0, it is; if all NoCacheKey bits are 1, it is not (see Section 5.4.6).
Note: The Cache-Key indication is relevant only for proxies that do not implement the given option as a request option and instead rely on the Unsafe/Safe-to-Forward indication only. For example, for ETag, actually using the request option as a part of the Cache-Key is grossly inefficient, but it is the best thing one can do if ETag is not implemented by a proxy, as the response is going to differ based on the presence of the request option. A more useful proxy that does implement the ETag request option is not using ETag as a part of the Cache-Key.
NoCacheKey is indicated in three bits so that only one out of eight codepoints is qualified as NoCacheKey, leaving seven out of eight codepoints for what appears to be the more likely case.
Proxy behavior with regard to these classes is defined in Section 5.7.
Variants
Error
This option /must be/ processed & understood by proxies and may not be forwarded blindly to their destination.
Corresponds to the option being “UnSafe” to forward in strict CoAP terms
Forward
This option may not be processed & understood by proxies and may be forwarded blindly to their destination.
Corresponds to the option being “SafeToForward” in strict CoAP terms
Trait Implementations
sourceimpl Clone for WhenOptionUnsupportedByProxy
impl Clone for WhenOptionUnsupportedByProxy
sourcefn clone(&self) -> WhenOptionUnsupportedByProxy
fn clone(&self) -> WhenOptionUnsupportedByProxy
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 WhenOptionUnsupportedByProxy
impl Debug for WhenOptionUnsupportedByProxy
sourceimpl Ord for WhenOptionUnsupportedByProxy
impl Ord for WhenOptionUnsupportedByProxy
sourceimpl PartialOrd<WhenOptionUnsupportedByProxy> for WhenOptionUnsupportedByProxy
impl PartialOrd<WhenOptionUnsupportedByProxy> for WhenOptionUnsupportedByProxy
sourcefn partial_cmp(&self, other: &WhenOptionUnsupportedByProxy) -> Option<Ordering>
fn partial_cmp(&self, other: &WhenOptionUnsupportedByProxy) -> 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 WhenOptionUnsupportedByProxy
impl Eq for WhenOptionUnsupportedByProxy
impl StructuralEq for WhenOptionUnsupportedByProxy
impl StructuralPartialEq for WhenOptionUnsupportedByProxy
Auto Trait Implementations
impl RefUnwindSafe for WhenOptionUnsupportedByProxy
impl Send for WhenOptionUnsupportedByProxy
impl Sync for WhenOptionUnsupportedByProxy
impl Unpin for WhenOptionUnsupportedByProxy
impl UnwindSafe for WhenOptionUnsupportedByProxy
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