Struct s2n_quic_core::inet::ipv4::IpV4Address
source · #[repr(C)]pub struct IpV4Address { /* private fields */ }Implementations§
source§impl IpV4Address
impl IpV4Address
source§impl IpV4Address
impl IpV4Address
sourcepub const UNSPECIFIED: Self = _
pub const UNSPECIFIED: Self = _
An unspecified IpV4Address
sourcepub const fn unicast_scope(self) -> Option<UnicastScope>
pub const fn unicast_scope(self) -> Option<UnicastScope>
Returns the ip::UnicastScope for the given address
See the IANA Registry for more details.
use s2n_quic_core::inet::{IpV4Address, ip::UnicastScope::*};
assert_eq!(IpV4Address::from([0, 0, 0, 0]).unicast_scope(), None);
assert_eq!(IpV4Address::from([127, 0, 0, 1]).unicast_scope(), Some(Loopback));
assert_eq!(IpV4Address::from([127, 1, 1, 1]).unicast_scope(), Some(Loopback));
assert_eq!(IpV4Address::from([10, 0, 0, 1]).unicast_scope(), Some(Private));
assert_eq!(IpV4Address::from([100, 64, 0, 1]).unicast_scope(), Some(Private));
assert_eq!(IpV4Address::from([169, 254, 1, 2]).unicast_scope(), Some(LinkLocal));
assert_eq!(IpV4Address::from([192, 0, 0, 1]).unicast_scope(), None);
assert_eq!(IpV4Address::from([192, 0, 0, 9]).unicast_scope(), Some(Global));
assert_eq!(IpV4Address::from([192, 0, 0, 10]).unicast_scope(), Some(Global));
assert_eq!(IpV4Address::from([192, 0, 2, 1]).unicast_scope(), None);
assert_eq!(IpV4Address::from([198, 18, 0, 0]).unicast_scope(), None);
assert_eq!(IpV4Address::from([198, 19, 1, 1]).unicast_scope(), None);
assert_eq!(IpV4Address::from([233, 252, 0, 1]).unicast_scope(), None);
assert_eq!(IpV4Address::from([240, 255, 255, 255]).unicast_scope(), None);
assert_eq!(IpV4Address::from([255, 255, 255, 255]).unicast_scope(), None);
assert_eq!(IpV4Address::from([92, 88, 99, 123]).unicast_scope(), Some(Global));
assert_eq!(IpV4Address::from([168, 254, 169, 253]).unicast_scope(), Some(Global));
assert_eq!(IpV4Address::from([224, 0, 0, 1]).unicast_scope(), Some(Global));sourcepub const fn to_ipv6_mapped(self) -> IpV6Address
pub const fn to_ipv6_mapped(self) -> IpV6Address
Converts the IP address into a IPv6 mapped address
pub fn with_port(self, port: u16) -> SocketAddressV4
Trait Implementations§
source§impl AsBytes for IpV4Address
impl AsBytes for IpV4Address
source§impl Clone for IpV4Address
impl Clone for IpV4Address
source§fn clone(&self) -> IpV4Address
fn clone(&self) -> IpV4Address
Returns a copy 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 IpV4Address
impl Debug for IpV4Address
source§impl<'a> DecoderValue<'a> for &'a IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValue<'a> for &'a IpV4Addresswhere
IpV4Address: FromBytes,
fn decode(buffer: DecoderBuffer<'a>) -> DecoderBufferResult<'_, Self>
source§impl<'a> DecoderValue<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValue<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
fn decode(buffer: DecoderBuffer<'a>) -> DecoderBufferResult<'_, Self>
source§impl<'a> DecoderValueMut<'a> for &'a IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValueMut<'a> for &'a IpV4Addresswhere
IpV4Address: FromBytes,
fn decode_mut(buffer: DecoderBufferMut<'a>) -> DecoderBufferMutResult<'a, Self>
source§impl<'a> DecoderValueMut<'a> for &'a mut IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValueMut<'a> for &'a mut IpV4Addresswhere
IpV4Address: FromBytes,
fn decode_mut(buffer: DecoderBufferMut<'a>) -> DecoderBufferMutResult<'a, Self>
source§impl<'a> DecoderValueMut<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValueMut<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
fn decode_mut(buffer: DecoderBufferMut<'a>) -> DecoderBufferMutResult<'_, Self>
source§impl Default for IpV4Address
impl Default for IpV4Address
source§fn default() -> IpV4Address
fn default() -> IpV4Address
Returns the “default value” for a type. Read more
source§impl Display for IpV4Address
impl Display for IpV4Address
source§impl<'a> EncoderValue for &'a IpV4Addresswhere
IpV4Address: AsBytes,
impl<'a> EncoderValue for &'a IpV4Addresswhere
IpV4Address: AsBytes,
source§fn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
source§fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
Returns the encoding size for the given encoder’s capacity
source§fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
Encodes the value into the encoder, while potentially mutating the value itself
source§fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
Encodes the value into the encoder with a prefix of
Lenfn encode_to_vec(&self) -> Vec<u8>
source§impl<'a> EncoderValue for &'a mut IpV4Addresswhere
IpV4Address: AsBytes,
impl<'a> EncoderValue for &'a mut IpV4Addresswhere
IpV4Address: AsBytes,
source§fn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
source§fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
Returns the encoding size for the given encoder’s capacity
source§fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
Encodes the value into the encoder, while potentially mutating the value itself
source§fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
Encodes the value into the encoder with a prefix of
Lenfn encode_to_vec(&self) -> Vec<u8>
source§impl EncoderValue for IpV4Addresswhere
IpV4Address: AsBytes,
impl EncoderValue for IpV4Addresswhere
IpV4Address: AsBytes,
source§fn encoding_size(&self) -> usize
fn encoding_size(&self) -> usize
Returns the encoding size with no buffer constrains
source§fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
fn encoding_size_for_encoder<E: Encoder>(&self, _encoder: &E) -> usize
Returns the encoding size for the given encoder’s capacity
source§fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
fn encode_mut<E>(&mut self, encoder: &mut E)where
E: Encoder,
Encodes the value into the encoder, while potentially mutating the value itself
source§fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
Encodes the value into the encoder with a prefix of
Lenfn encode_to_vec(&self) -> Vec<u8>
source§impl<'a> From<&'a IpV4Address> for IpAddressRef<'a>
impl<'a> From<&'a IpV4Address> for IpAddressRef<'a>
source§fn from(ip: &'a IpV4Address) -> Self
fn from(ip: &'a IpV4Address) -> Self
Converts to this type from the input type.
source§impl From<&Ipv4Addr> for IpV4Address
impl From<&Ipv4Addr> for IpV4Address
source§impl From<IpV4Address> for [u8; 4]
impl From<IpV4Address> for [u8; 4]
source§fn from(address: IpV4Address) -> Self
fn from(address: IpV4Address) -> Self
Converts to this type from the input type.
source§impl From<IpV4Address> for IpAddress
impl From<IpV4Address> for IpAddress
source§fn from(ip: IpV4Address) -> Self
fn from(ip: IpV4Address) -> Self
Converts to this type from the input type.
source§impl From<IpV4Address> for Ipv4Addr
impl From<IpV4Address> for Ipv4Addr
source§fn from(address: IpV4Address) -> Self
fn from(address: IpV4Address) -> Self
Converts to this type from the input type.
source§impl From<Ipv4Addr> for IpV4Address
impl From<Ipv4Addr> for IpV4Address
source§impl FromBytes for IpV4Address
impl FromBytes for IpV4Address
source§fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>where
Self: Sized,
Interprets the prefix of the given
bytes as a &[Self] with length
equal to count without copying. Read moresource§fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>where
Self: Sized,
Interprets the suffix of the given
bytes as a &[Self] with length
equal to count without copying. Read moresource§fn mut_slice_from_prefix(
bytes: &mut [u8],
count: usize
) -> Option<(&mut [Self], &mut [u8])>
fn mut_slice_from_prefix( bytes: &mut [u8], count: usize ) -> Option<(&mut [Self], &mut [u8])>
Interprets the prefix of the given
bytes as a &mut [Self] with length
equal to count without copying. Read moresource§fn mut_slice_from_suffix(
bytes: &mut [u8],
count: usize
) -> Option<(&mut [u8], &mut [Self])>
fn mut_slice_from_suffix( bytes: &mut [u8], count: usize ) -> Option<(&mut [u8], &mut [Self])>
Interprets the suffix of the given
bytes as a &mut [Self] with length
equal to count without copying. Read moresource§impl FromZeroes for IpV4Address
impl FromZeroes for IpV4Address
source§impl Hash for IpV4Address
impl Hash for IpV4Address
source§impl Ord for IpV4Address
impl Ord for IpV4Address
source§fn cmp(&self, other: &IpV4Address) -> Ordering
fn cmp(&self, other: &IpV4Address) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for IpV4Address
impl PartialEq for IpV4Address
source§fn eq(&self, other: &IpV4Address) -> bool
fn eq(&self, other: &IpV4Address) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl PartialOrd for IpV4Address
impl PartialOrd for IpV4Address
source§fn partial_cmp(&self, other: &IpV4Address) -> Option<Ordering>
fn partial_cmp(&self, other: &IpV4Address) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moresource§impl Unspecified for IpV4Address
impl Unspecified for IpV4Address
source§fn is_unspecified(&self) -> bool
fn is_unspecified(&self) -> bool
Returns true if the value is unspecified
source§fn filter_unspecified(self) -> Option<Self>
fn filter_unspecified(self) -> Option<Self>
Coerce a potentially unspecified value into an Option
impl Copy for IpV4Address
impl Eq for IpV4Address
impl StructuralEq for IpV4Address
impl StructuralPartialEq for IpV4Address
impl Unaligned for IpV4Address
Auto Trait Implementations§
impl RefUnwindSafe for IpV4Address
impl Send for IpV4Address
impl Sync for IpV4Address
impl Unpin for IpV4Address
impl UnwindSafe for IpV4Address
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> PacketPayloadEncoder for Twhere
T: EncoderValue,
impl<T> PacketPayloadEncoder for Twhere
T: EncoderValue,
source§fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
E: Encoder,
fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usizewhere
E: Encoder,
Returns an estimate of the encoding size of the payload. This
may be inaccurate from what actually is encoded. Estimates should
be less than or equal to what is actually written.
Implementations can return 0 to skip encoding.