Struct der::ObjectIdentifier [−][src]
oid
only.Object identifier (OID).
OIDs are hierarchical structures consisting of “arcs”, i.e. integer identifiers.
Validity
In order for an OID to be considered valid by this library, it must meet the following criteria:
- The OID MUST have at least 3 arcs
- The first arc MUST be within the range 0-2
- The second arc MUST be within the range 0-39
- The BER/DER encoding of the OID MUST be shorter than
ObjectIdentifier::max_len
Implementations
impl ObjectIdentifier
[src]
pub const fn max_len() -> usize
[src]
Maximum length of a BER/DER-encoded OID in bytes.
pub const fn new(s: &str) -> ObjectIdentifier
[src]
Parse an ObjectIdentifier
from the dot-delimited string form, e.g.:
use const_oid::ObjectIdentifier; pub const MY_OID: ObjectIdentifier = ObjectIdentifier::new("1.2.840.113549.1.1.1");
Panics
This method panics in the event the OID is malformed according to the “Validity” rules given in the toplevel documentation for this type.
For that reason this method is ONLY recommended for use in constants (where it will generate a compiler error instead).
To parse an OID from a &str
slice fallibly and without panicking,
use the FromStr
impl instead (or via str
’s parse
method).
pub fn from_arcs(arcs: &[u32]) -> Result<ObjectIdentifier, Error>
[src]
Parse an OID from a slice of Arc
values (i.e. integers).
pub fn from_bytes(ber_bytes: &[u8]) -> Result<ObjectIdentifier, Error>
[src]
Parse an OID from from its BER/DER encoding.
pub fn as_bytes(&self) -> &[u8]
[src]
Get the BER/DER serialization of this OID as bytes.
Note that this encoding omits the tag/length, and only contains the value portion of the encoded OID.
pub fn arc(&self, index: usize) -> Option<u32>
[src]
Return the arc with the given index, if it exists.
pub fn arcs(&self) -> Arcs<'_>
[src]
Iterate over the arcs (a.k.a. nodes) of an ObjectIdentifier
.
Returns Arcs
, an iterator over Arc
values representing the value
of each arc/node.
Trait Implementations
impl AsRef<[u8]> for ObjectIdentifier
[src]
impl Clone for ObjectIdentifier
[src]
pub fn clone(&self) -> ObjectIdentifier
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for ObjectIdentifier
[src]
impl Debug for ObjectIdentifier
[src]
impl Display for ObjectIdentifier
[src]
impl Encodable for ObjectIdentifier
[src]
fn encoded_len(&self) -> Result<Length>
[src]
fn encode(&self, encoder: &mut Encoder<'_>) -> Result<()>
[src]
fn encode_to_slice<'a>(&self, buf: &'a mut [u8]) -> Result<&'a [u8]>
[src]
fn encode_to_vec(&self, buf: &mut Vec<u8>) -> Result<Length>
[src]
fn to_vec(&self) -> Result<Vec<u8>>
[src]
impl Eq for ObjectIdentifier
[src]
impl<'_> From<&'_ ObjectIdentifier> for ObjectIdentifier
[src]
pub fn from(oid: &ObjectIdentifier) -> ObjectIdentifier
[src]
impl<'a> From<&'a ObjectIdentifier> for Any<'a>
[src]
fn from(oid: &'a ObjectIdentifier) -> Any<'a>
[src]
impl FromStr for ObjectIdentifier
[src]
type Err = Error
The associated error which can be returned from parsing.
pub fn from_str(string: &str) -> Result<ObjectIdentifier, Error>
[src]
impl Hash for ObjectIdentifier
[src]
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for ObjectIdentifier
[src]
pub fn cmp(&self, other: &ObjectIdentifier) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<ObjectIdentifier> for ObjectIdentifier
[src]
pub fn eq(&self, other: &ObjectIdentifier) -> bool
[src]
pub fn ne(&self, other: &ObjectIdentifier) -> bool
[src]
impl PartialOrd<ObjectIdentifier> for ObjectIdentifier
[src]
pub fn partial_cmp(&self, other: &ObjectIdentifier) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for ObjectIdentifier
[src]
impl StructuralPartialEq for ObjectIdentifier
[src]
impl<'a> Tagged for ObjectIdentifier
[src]
impl<'_> TryFrom<&'_ [u8]> for ObjectIdentifier
[src]
type Error = Error
The type returned in the event of a conversion error.
pub fn try_from(ber_bytes: &[u8]) -> Result<ObjectIdentifier, Error>
[src]
impl TryFrom<Any<'_>> for ObjectIdentifier
[src]
Auto Trait Implementations
impl RefUnwindSafe for ObjectIdentifier
impl Send for ObjectIdentifier
impl Sync for ObjectIdentifier
impl Unpin for ObjectIdentifier
impl UnwindSafe for ObjectIdentifier
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,
pub 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> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
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.
pub 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>,