pub enum BencodeValue {
Integer(i64),
Bytes(Vec<u8>),
List(Vec<BencodeValue>),
Dict(BTreeMap<Vec<u8>, BencodeValue>),
}Expand description
A dynamically-typed bencode value.
Useful for inspecting bencode data without a schema, and for
find_dict_key_span operations.
Variants§
Integer(i64)
Integer: i42e
Bytes(Vec<u8>)
Byte string: 4:spam
List(Vec<BencodeValue>)
List: l...e
Dict(BTreeMap<Vec<u8>, BencodeValue>)
Dictionary: d...e (keys sorted lexicographically)
Implementations§
Source§impl BencodeValue
impl BencodeValue
Sourcepub fn as_int(&self) -> Option<i64>
pub fn as_int(&self) -> Option<i64>
Returns the integer value if this is a BencodeValue::Integer.
Sourcepub fn as_bytes_raw(&self) -> Option<&[u8]>
pub fn as_bytes_raw(&self) -> Option<&[u8]>
Returns the raw byte slice if this is a BencodeValue::Bytes.
Sourcepub fn as_list(&self) -> Option<&[BencodeValue]>
pub fn as_list(&self) -> Option<&[BencodeValue]>
Returns the list if this is a BencodeValue::List.
Trait Implementations§
Source§impl Clone for BencodeValue
impl Clone for BencodeValue
Source§fn clone(&self) -> BencodeValue
fn clone(&self) -> BencodeValue
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 Debug for BencodeValue
impl Debug for BencodeValue
Source§impl<'de> Deserialize<'de> for BencodeValue
impl<'de> Deserialize<'de> for BencodeValue
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for BencodeValue
impl Display for BencodeValue
Source§impl PartialEq for BencodeValue
impl PartialEq for BencodeValue
Source§impl Serialize for BencodeValue
impl Serialize for BencodeValue
impl Eq for BencodeValue
impl StructuralPartialEq for BencodeValue
Auto Trait Implementations§
impl Freeze for BencodeValue
impl RefUnwindSafe for BencodeValue
impl Send for BencodeValue
impl Sync for BencodeValue
impl Unpin for BencodeValue
impl UnsafeUnpin for BencodeValue
impl UnwindSafe for BencodeValue
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