#[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 Clone for IpV4Address
impl Clone for IpV4Address
Source§fn clone(&self) -> IpV4Address
fn clone(&self) -> IpV4Address
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 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<'a, Self>
Source§impl<'a> DecoderValue<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
impl<'a> DecoderValue<'a> for IpV4Addresswhere
IpV4Address: FromBytes,
fn decode(buffer: DecoderBuffer<'a>) -> DecoderBufferResult<'a, 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<'a, 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: IntoBytes,
impl<'a> EncoderValue for &'a IpV4Addresswhere
IpV4Address: IntoBytes,
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: IntoBytes,
impl<'a> EncoderValue for &'a mut IpV4Addresswhere
IpV4Address: IntoBytes,
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: IntoBytes,
impl EncoderValue for IpV4Addresswhere
IpV4Address: IntoBytes,
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§impl FromZeros for IpV4Address
impl FromZeros for IpV4Address
Source§impl Hash for IpV4Address
impl Hash for IpV4Address
Source§impl IntoBytes for IpV4Address
impl IntoBytes for IpV4Address
Source§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Gets the bytes of this value mutably. Read more
Source§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
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§impl PartialOrd for IpV4Address
impl PartialOrd for IpV4Address
Source§impl TryFromBytes for IpV4Address
impl TryFromBytes for IpV4Address
Source§fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
Source§fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
Source§fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
Source§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<Self>impl Copy for IpV4Address
impl Eq for IpV4Address
impl Immutable for IpV4Address
impl StructuralPartialEq for IpV4Address
impl Unaligned for IpV4Address
Auto Trait Implementations§
impl Freeze for IpV4Address
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.