Enum embedded_nal_async::SocketAddr
source · [−]pub enum SocketAddr {
V4(SocketAddrV4),
V6(SocketAddrV6),
}Expand description
An internet socket address, either IPv4 or IPv6.
Internet socket addresses consist of an IP address, a 16-bit port number, as well
as possibly some version-dependent additional information. See SocketAddrV4’s and
SocketAddrV6’s respective documentation for more details.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
assert_eq!(socket.port(), 8080);
assert_eq!(socket.is_ipv4(), true);Variants
V4(SocketAddrV4)
An IPv4 socket address.
V6(SocketAddrV6)
An IPv6 socket address.
Implementations
sourceimpl SocketAddr
impl SocketAddr
sourcepub const fn new(ip: IpAddr, port: u16) -> SocketAddr
pub const fn new(ip: IpAddr, port: u16) -> SocketAddr
Creates a new socket address from an IP address and a port number.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)));
assert_eq!(socket.port(), 8080);sourcepub const fn ip(&self) -> IpAddr
pub const fn ip(&self) -> IpAddr
Returns the IP address associated with this socket address.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)));sourcepub fn set_ip(&mut self, new_ip: IpAddr)
pub fn set_ip(&mut self, new_ip: IpAddr)
Changes the IP address associated with this socket address.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
socket.set_ip(IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));
assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));sourcepub const fn port(&self) -> u16
pub const fn port(&self) -> u16
Returns the port number associated with this socket address.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.port(), 8080);sourcepub fn set_port(&mut self, new_port: u16)
pub fn set_port(&mut self, new_port: u16)
Changes the port number associated with this socket address.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
socket.set_port(1025);
assert_eq!(socket.port(), 1025);sourcepub const fn is_ipv4(&self) -> bool
pub const fn is_ipv4(&self) -> bool
Returns true if the IP address in this SocketAddr is an
IPv4 address, and false otherwise.
Examples
use no_std_net::{IpAddr, Ipv4Addr, SocketAddr};
fn main() {
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.is_ipv4(), true);
assert_eq!(socket.is_ipv6(), false);
}sourcepub const fn is_ipv6(&self) -> bool
pub const fn is_ipv6(&self) -> bool
Returns true if the IP address in this SocketAddr is an
IPv6 address, and false otherwise.
Examples
use no_std_net::{IpAddr, Ipv6Addr, SocketAddr};
fn main() {
let socket = SocketAddr::new(
IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 65535, 0, 1)), 8080);
assert_eq!(socket.is_ipv4(), false);
assert_eq!(socket.is_ipv6(), true);
}Trait Implementations
sourceimpl Clone for SocketAddr
impl Clone for SocketAddr
sourcefn clone(&self) -> SocketAddr
fn clone(&self) -> SocketAddr
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for SocketAddr
impl Debug for SocketAddr
sourceimpl Display for SocketAddr
impl Display for SocketAddr
sourceimpl<I> From<(I, u16)> for SocketAddr where
I: Into<IpAddr>,
impl<I> From<(I, u16)> for SocketAddr where
I: Into<IpAddr>,
sourcefn from(pieces: (I, u16)) -> SocketAddr
fn from(pieces: (I, u16)) -> SocketAddr
Converts to this type from the input type.
sourceimpl From<SocketAddrV4> for SocketAddr
impl From<SocketAddrV4> for SocketAddr
sourcefn from(sock4: SocketAddrV4) -> SocketAddr
fn from(sock4: SocketAddrV4) -> SocketAddr
Converts to this type from the input type.
sourceimpl From<SocketAddrV6> for SocketAddr
impl From<SocketAddrV6> for SocketAddr
sourcefn from(sock6: SocketAddrV6) -> SocketAddr
fn from(sock6: SocketAddrV6) -> SocketAddr
Converts to this type from the input type.
sourceimpl FromStr for SocketAddr
impl FromStr for SocketAddr
sourceimpl Hash for SocketAddr
impl Hash for SocketAddr
sourceimpl PartialEq<SocketAddr> for SocketAddr
impl PartialEq<SocketAddr> for SocketAddr
sourcefn eq(&self, other: &SocketAddr) -> bool
fn eq(&self, other: &SocketAddr) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
sourcefn ne(&self, other: &SocketAddr) -> bool
fn ne(&self, other: &SocketAddr) -> bool
This method tests for !=.
sourceimpl ToSocketAddrs for SocketAddr
impl ToSocketAddrs for SocketAddr
type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to.
sourcefn 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 SocketAddrs. Read more
impl Copy for SocketAddr
impl Eq for SocketAddr
impl StructuralEq for SocketAddr
impl StructuralPartialEq for SocketAddr
Auto Trait Implementations
impl RefUnwindSafe for SocketAddr
impl Send for SocketAddr
impl Sync for SocketAddr
impl Unpin for SocketAddr
impl UnwindSafe for SocketAddr
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more