pub struct SocketAddrV4 { /* private fields */ }
Expand description
An IPv4 socket address.
IPv4 socket addresses consist of an IPv4
address and a 16-bit port number, as
stated in IETF RFC 793.
See SocketAddr
for a type encompassing both IPv4 and IPv6 socket addresses.
§Examples
use no_std_net::{Ipv4Addr, SocketAddrV4};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
assert_eq!(socket.port(), 8080);
Implementations§
Source§impl SocketAddrV4
impl SocketAddrV4
Sourcepub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
pub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
Creates a new socket address from an IPv4
address and a port number.
§Examples
use no_std_net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
Sourcepub const fn ip(&self) -> &Ipv4Addr
pub const fn ip(&self) -> &Ipv4Addr
Returns the IP address associated with this socket address.
§Examples
use no_std_net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
Sourcepub fn set_ip(&mut self, new_ip: Ipv4Addr)
pub fn set_ip(&mut self, new_ip: Ipv4Addr)
Changes the IP address associated with this socket address.
§Examples
use no_std_net::{SocketAddrV4, Ipv4Addr};
let mut socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
socket.set_ip(Ipv4Addr::new(192, 168, 0, 1));
assert_eq!(socket.ip(), &Ipv4Addr::new(192, 168, 0, 1));
Trait Implementations§
Source§impl Clone for SocketAddrV4
impl Clone for SocketAddrV4
Source§fn clone(&self) -> SocketAddrV4
fn clone(&self) -> SocketAddrV4
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 SocketAddrV4
impl Debug for SocketAddrV4
Source§impl Display for SocketAddrV4
impl Display for SocketAddrV4
Source§impl From<SocketAddrV4> for SocketAddr
impl From<SocketAddrV4> for SocketAddr
Source§fn from(sock4: SocketAddrV4) -> SocketAddr
fn from(sock4: SocketAddrV4) -> SocketAddr
Converts a SocketAddrV4
into a SocketAddr::V4
.
Source§impl FromStr for SocketAddrV4
impl FromStr for SocketAddrV4
Source§impl Hash for SocketAddrV4
impl Hash for SocketAddrV4
Source§impl Ord for SocketAddrV4
impl Ord for SocketAddrV4
Source§fn cmp(&self, other: &SocketAddrV4) -> Ordering
fn cmp(&self, other: &SocketAddrV4) -> 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 SocketAddrV4
impl PartialEq for SocketAddrV4
Source§impl PartialOrd for SocketAddrV4
impl PartialOrd for SocketAddrV4
Source§impl ToSocketAddrs for SocketAddrV4
impl ToSocketAddrs for SocketAddrV4
Source§type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond
to.
Source§fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, ToSocketAddrError>
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, ToSocketAddrError>
Converts this object to an iterator of resolved
SocketAddr
s. Read moreimpl Copy for SocketAddrV4
impl Eq for SocketAddrV4
Auto Trait Implementations§
impl Freeze for SocketAddrV4
impl RefUnwindSafe for SocketAddrV4
impl Send for SocketAddrV4
impl Sync for SocketAddrV4
impl Unpin for SocketAddrV4
impl UnwindSafe for SocketAddrV4
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,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 6 bytes