pub struct RawAttribute<'a> {
pub header: AttributeHeader,
pub value: Data<'a>,
}
Expand description
The header and raw bytes of an unparsed Attribute
Fields§
§header: AttributeHeader
The AttributeHeader
of this RawAttribute
value: Data<'a>
The raw bytes of this RawAttribute
Implementations§
Source§impl<'a> RawAttribute<'a>
impl<'a> RawAttribute<'a>
Sourcepub fn new(atype: AttributeType, data: &'a [u8]) -> Self
pub fn new(atype: AttributeType, data: &'a [u8]) -> Self
Create a new RawAttribute
Sourcepub fn new_owned(atype: AttributeType, data: Box<[u8]>) -> Self
pub fn new_owned(atype: AttributeType, data: Box<[u8]>) -> Self
Create a new owned RawAttribute
Sourcepub fn from_bytes(data: &'a [u8]) -> Result<Self, StunParseError>
pub fn from_bytes(data: &'a [u8]) -> Result<Self, StunParseError>
Deserialize a RawAttribute
from bytes.
§Examples
let data = &[0, 1, 0, 2, 5, 6, 0, 0];
let attr = RawAttribute::from_bytes(data).unwrap();
assert_eq!(attr.get_type(), AttributeType::new(1));
assert_eq!(attr.length(), 2);
Sourcepub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn to_bytes(&self) -> Vec<u8> ⓘ
Serialize a RawAttribute
to bytes.
§Examples
let attr = RawAttribute::new(AttributeType::new(1), &[5, 6]);
assert_eq!(attr.to_bytes(), &[0, 1, 0, 2, 5, 6, 0, 0]);
Sourcepub fn check_type_and_len(
&self,
atype: AttributeType,
allowed_range: impl RangeBounds<usize>,
) -> Result<(), StunParseError>
pub fn check_type_and_len( &self, atype: AttributeType, allowed_range: impl RangeBounds<usize>, ) -> Result<(), StunParseError>
Helper for checking that a raw attribute is of a particular type and has a data length within a certain range.
Sourcepub fn into_owned<'b>(self) -> RawAttribute<'b>
pub fn into_owned<'b>(self) -> RawAttribute<'b>
Consume this RawAttribute
and return a new owned RawAttribute
Trait Implementations§
Source§impl Attribute for RawAttribute<'_>
impl Attribute for RawAttribute<'_>
Source§fn get_type(&self) -> AttributeType
fn get_type(&self) -> AttributeType
Returns the AttributeType
of this RawAttribute
Source§fn length(&self) -> u16
fn length(&self) -> u16
Returns the length of this RawAttribute
Source§impl AttributeWrite for RawAttribute<'_>
impl AttributeWrite for RawAttribute<'_>
Source§fn write_into_unchecked(&self, dest: &mut [u8])
fn write_into_unchecked(&self, dest: &mut [u8])
Write this RawAttribute
into a byte slice. Returns the number of bytes written.
Source§fn to_raw(&self) -> RawAttribute<'_>
fn to_raw(&self) -> RawAttribute<'_>
Produce a
RawAttribute
from this Attribute
Source§impl<'a> Clone for RawAttribute<'a>
impl<'a> Clone for RawAttribute<'a>
Source§fn clone(&self) -> RawAttribute<'a>
fn clone(&self) -> RawAttribute<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a> Debug for RawAttribute<'a>
impl<'a> Debug for RawAttribute<'a>
Source§impl Display for RawAttribute<'_>
impl Display for RawAttribute<'_>
Source§impl<'a, A: AttributeWrite> From<&'a A> for RawAttribute<'a>
impl<'a, A: AttributeWrite> From<&'a A> for RawAttribute<'a>
Source§impl From<RawAttribute<'_>> for Vec<u8>
impl From<RawAttribute<'_>> for Vec<u8>
Source§fn from(f: RawAttribute<'_>) -> Self
fn from(f: RawAttribute<'_>) -> Self
Converts to this type from the input type.
Source§impl<'a> PartialEq for RawAttribute<'a>
impl<'a> PartialEq for RawAttribute<'a>
Source§impl TryFrom<&RawAttribute<'_>> for AlternateDomain
impl TryFrom<&RawAttribute<'_>> for AlternateDomain
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for AlternateServer
impl TryFrom<&RawAttribute<'_>> for AlternateServer
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for ErrorCode
impl TryFrom<&RawAttribute<'_>> for ErrorCode
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Fingerprint
impl TryFrom<&RawAttribute<'_>> for Fingerprint
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for IceControlled
impl TryFrom<&RawAttribute<'_>> for IceControlled
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for IceControlling
impl TryFrom<&RawAttribute<'_>> for IceControlling
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for MessageIntegrity
impl TryFrom<&RawAttribute<'_>> for MessageIntegrity
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for MessageIntegritySha256
impl TryFrom<&RawAttribute<'_>> for MessageIntegritySha256
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Nonce
impl TryFrom<&RawAttribute<'_>> for Nonce
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for PasswordAlgorithm
impl TryFrom<&RawAttribute<'_>> for PasswordAlgorithm
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for PasswordAlgorithms
impl TryFrom<&RawAttribute<'_>> for PasswordAlgorithms
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Priority
impl TryFrom<&RawAttribute<'_>> for Priority
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Realm
impl TryFrom<&RawAttribute<'_>> for Realm
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Software
impl TryFrom<&RawAttribute<'_>> for Software
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for UnknownAttributes
impl TryFrom<&RawAttribute<'_>> for UnknownAttributes
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for UseCandidate
impl TryFrom<&RawAttribute<'_>> for UseCandidate
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Userhash
impl TryFrom<&RawAttribute<'_>> for Userhash
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for Username
impl TryFrom<&RawAttribute<'_>> for Username
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
Source§impl TryFrom<&RawAttribute<'_>> for XorMappedAddress
impl TryFrom<&RawAttribute<'_>> for XorMappedAddress
Source§type Error = StunParseError
type Error = StunParseError
The type returned in the event of a conversion error.
impl<'a> Eq for RawAttribute<'a>
impl<'a> StructuralPartialEq for RawAttribute<'a>
Auto Trait Implementations§
impl<'a> Freeze for RawAttribute<'a>
impl<'a> RefUnwindSafe for RawAttribute<'a>
impl<'a> Send for RawAttribute<'a>
impl<'a> Sync for RawAttribute<'a>
impl<'a> Unpin for RawAttribute<'a>
impl<'a> UnwindSafe for RawAttribute<'a>
Blanket Implementations§
Source§impl<A> AttributeExt for A
impl<A> AttributeExt for A
Source§impl<A> AttributeWriteExt for Awhere
A: AttributeWrite + ?Sized,
impl<A> AttributeWriteExt for Awhere
A: AttributeWrite + ?Sized,
Source§fn write_header(&self, dest: &mut [u8]) -> Result<usize, StunWriteError>
fn write_header(&self, dest: &mut [u8]) -> Result<usize, StunWriteError>
Write the 4 byte attribute header into the provided destination buffer returning the
number of bytes written, or an error.
Source§fn write_header_unchecked(&self, dest: &mut [u8]) -> usize
fn write_header_unchecked(&self, dest: &mut [u8]) -> usize
Write the 4 byte attribute header into the provided destination buffer returning the
number of bytes written. Read more
Source§fn write_into(&self, dest: &mut [u8]) -> Result<usize, StunWriteError>
fn write_into(&self, dest: &mut [u8]) -> Result<usize, StunWriteError>
Write this attribute into the provided destination buffer returning the number of bytes
written, or an error.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more