pub enum Mode {
Ber,
Cer,
Der,
}
Expand description
The BER Mode.
X.680 defines not one but three sets of related encoding rules. All three follow the same basic ideas but implement them in slightly different ways.
This type represents these rules. The decode
method provides a way to
decode a source using the specific decoding mode. You can also change
the decoding mode later on through the set_mode
methods of Primitive
and Constructed
.
Variants
Ber
Basic Encoding Rules.
These are the most flexible rules, allowing alternative encodings for some types as well as indefinite length values.
Cer
Canonical Encoding Rules.
These rules always employ indefinite length encoding for constructed values and the shortest possible form for primitive values. There are additional restrictions for certain types.
Der
Distinguished Encoding Rules.
These rules always employ definite length values and require the shortest possible encoding. Additional rules apply to some types.
Implementations
sourceimpl Mode
impl Mode
sourcepub fn decode<S, F, T>(
self,
source: S,
op: F
) -> Result<T, DecodeError<<S::Source as Source>::Error>> where
S: IntoSource,
F: FnOnce(&mut Constructed<'_, S::Source>) -> Result<T, DecodeError<<S::Source as Source>::Error>>,
pub fn decode<S, F, T>(
self,
source: S,
op: F
) -> Result<T, DecodeError<<S::Source as Source>::Error>> where
S: IntoSource,
F: FnOnce(&mut Constructed<'_, S::Source>) -> Result<T, DecodeError<<S::Source as Source>::Error>>,
Decode a source using a specific mode.
The method will attempt to decode source
using the rules represented
by this value. The closure op
will be given the content of the
source as a sequence of values. The closure does not need to process
all values in the source.
Trait Implementations
impl Copy for Mode
impl Eq for Mode
impl StructuralEq for Mode
impl StructuralPartialEq for Mode
Auto Trait Implementations
impl RefUnwindSafe for Mode
impl Send for Mode
impl Sync for Mode
impl Unpin for Mode
impl UnwindSafe for Mode
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