pub struct NetworkPrefix {
pub prefix: IpNet,
pub path_id: u32,
}
Expand description
A representation of a network prefix with an optional path ID.
Fields§
§prefix: IpNet
§path_id: u32
Implementations§
Source§impl NetworkPrefix
impl NetworkPrefix
pub fn new(prefix: IpNet, path_id: u32) -> NetworkPrefix
Sourcepub fn encode(&self, add_path: bool) -> Bytes
pub fn encode(&self, add_path: bool) -> Bytes
Encodes the IPNet prefix into a byte slice.
§Arguments
add_path
- A bool indicating whether to include the path identifier in the encoded bytes.
§Returns
A Bytes
slice containing the encoded IPNet prefix.
§Example
use std::str::FromStr;
use bytes::Bytes;
use ipnet::{IpNet, Ipv4Net};
use bgpkit_parser::models::NetworkPrefix;
let prefix = NetworkPrefix::from_str("192.168.0.0/24").unwrap();
let encoded_bytes = prefix.encode(false);
assert_eq!(encoded_bytes.iter().as_slice(), &[24, 192, 168, 0]);
Trait Implementations§
Source§impl Clone for NetworkPrefix
impl Clone for NetworkPrefix
Source§fn clone(&self) -> NetworkPrefix
fn clone(&self) -> NetworkPrefix
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 NetworkPrefix
impl Debug for NetworkPrefix
Source§impl Display for NetworkPrefix
impl Display for NetworkPrefix
Source§impl FromStr for NetworkPrefix
impl FromStr for NetworkPrefix
Source§impl Hash for NetworkPrefix
impl Hash for NetworkPrefix
Source§impl PartialEq for NetworkPrefix
impl PartialEq for NetworkPrefix
impl Copy for NetworkPrefix
impl Eq for NetworkPrefix
impl StructuralPartialEq for NetworkPrefix
Auto Trait Implementations§
impl Freeze for NetworkPrefix
impl RefUnwindSafe for NetworkPrefix
impl Send for NetworkPrefix
impl Sync for NetworkPrefix
impl Unpin for NetworkPrefix
impl UnwindSafe for NetworkPrefix
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.