pub struct TXT { /* private fields */ }
Expand description
RFC 1035, DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION, November 1987
3.3.14. TXT RDATA format
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/ TXT-DATA /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
TXT RRs are used to hold descriptive text. The semantics of the text
depends on the domain where it is found.
Implementations§
source§impl TXT
impl TXT
sourcepub fn new(txt_data: Vec<String>) -> Self
pub fn new(txt_data: Vec<String>) -> Self
Creates a new TXT record data.
Arguments
txt_data
- the set of strings which make up the txt_data.
Return value
The new TXT record data.
sourcepub fn from_bytes(txt_data: Vec<&[u8]>) -> Self
pub fn from_bytes(txt_data: Vec<&[u8]>) -> Self
Creates a new TXT record data from bytes. Allows creating binary record data.
Arguments
txt_data
- the set of bytes which make up the txt_data.
Return value
The new TXT record data.
Trait Implementations§
source§impl BinEncodable for TXT
impl BinEncodable for TXT
source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
Write the type to the stream
source§impl<'de> Deserialize<'de> for TXT
impl<'de> Deserialize<'de> for TXT
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for TXT
impl Display for TXT
source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Format a TXT with lossy conversion of invalid utf8.
Case of invalid utf8
Invalid utf8 will be converted to:
U+FFFD REPLACEMENT CHARACTER
, which looks like this: �
Same behaviour as alloc::string::String::from_utf8_lossy
.
let first_bytes = b"Invalid utf8 <\xF0\x90\x80>.";
let second_bytes = b" Valid utf8 <\xF0\x9F\xA4\xA3>";
let rdata: Vec<&[u8]> = vec![first_bytes, second_bytes];
let txt = TXT::from_bytes(rdata);
let tested = format!("{}", txt);
assert_eq!(
tested.as_bytes(),
b"Invalid utf8 <\xEF\xBF\xBD>. Valid utf8 <\xF0\x9F\xA4\xA3>",
"Utf8 lossy conversion error! Mismatch between input and expected"
);
source§impl RecordData for TXT
impl RecordData for TXT
source§fn try_from_rdata(data: RData) -> Result<Self, RData>
fn try_from_rdata(data: RData) -> Result<Self, RData>
Attempts to convert to this RecordData from the RData type, if it is not the correct type the original is returned
source§fn try_borrow(data: &RData) -> Option<&Self>
fn try_borrow(data: &RData) -> Option<&Self>
Attempts to borrow this RecordData from the RData type, if it is not the correct type the original is returned
source§fn record_type(&self) -> RecordType
fn record_type(&self) -> RecordType
Get the associated RecordType for the RecordData
source§fn into_rdata(self) -> RData
fn into_rdata(self) -> RData
Converts this RecordData into generic RecordData
impl Eq for TXT
impl StructuralEq for TXT
impl StructuralPartialEq for TXT
Auto Trait Implementations§
impl RefUnwindSafe for TXT
impl Send for TXT
impl Sync for TXT
impl Unpin for TXT
impl UnwindSafe for TXT
Blanket Implementations§
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.