Struct devela::_std::net::SocketAddrV4
1.0.0 · source · 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.
The size of a SocketAddrV4
struct may vary depending on the target operating
system. Do not assume that this type has the same memory layout as the underlying
system representation.
Examples
use 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 fn parse_ascii(b: &[u8]) -> Result<SocketAddrV4, AddrParseError>
🔬This is a nightly-only experimental API. (addr_parse_ascii
)Available on crate feature mem
only.
pub fn parse_ascii(b: &[u8]) -> Result<SocketAddrV4, AddrParseError>
addr_parse_ascii
)mem
only.Parse an IPv4 socket address from a slice of bytes.
#![feature(addr_parse_ascii)]
use std::net::{Ipv4Addr, SocketAddrV4};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!(SocketAddrV4::parse_ascii(b"127.0.0.1:8080"), Ok(socket));
source§impl SocketAddrV4
impl SocketAddrV4
const: 1.69.0 · sourcepub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
Available on crate feature mem
only.
pub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
mem
only.Creates a new socket address from an IPv4
address and a port number.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
const: 1.69.0 · sourcepub const fn ip(&self) -> &Ipv4Addr
Available on crate feature mem
only.
pub const fn ip(&self) -> &Ipv4Addr
mem
only.Returns the IP address associated with this socket address.
Examples
use 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));
1.9.0 · sourcepub fn set_ip(&mut self, new_ip: Ipv4Addr)
Available on crate feature mem
only.
pub fn set_ip(&mut self, new_ip: Ipv4Addr)
mem
only.Changes the IP address associated with this socket address.
Examples
use 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));
const: 1.69.0 · sourcepub const fn port(&self) -> u16
Available on crate feature mem
only.
pub const fn port(&self) -> u16
mem
only.Returns the port number associated with this socket address.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!(socket.port(), 8080);
1.9.0 · sourcepub fn set_port(&mut self, new_port: u16)
Available on crate feature mem
only.
pub fn set_port(&mut self, new_port: u16)
mem
only.Changes the port number associated with this socket address.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let mut socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
socket.set_port(4242);
assert_eq!(socket.port(), 4242);
Trait Implementations§
source§impl Clone for SocketAddrV4
impl Clone for SocketAddrV4
source§fn clone(&self) -> SocketAddrV4
fn clone(&self) -> SocketAddrV4
source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SocketAddrV4
impl Debug for SocketAddrV4
source§impl Display for SocketAddrV4
impl Display for SocketAddrV4
1.16.0 · 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
.
1.5.0 · source§impl FromStr for SocketAddrV4
impl FromStr for SocketAddrV4
§type Err = AddrParseError
type Err = AddrParseError
source§fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError>
fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError>
s
to return a value of this type. Read moresource§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,
source§impl PartialEq for SocketAddrV4
impl PartialEq for SocketAddrV4
source§fn eq(&self, other: &SocketAddrV4) -> bool
fn eq(&self, other: &SocketAddrV4) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for SocketAddrV4
impl PartialOrd for SocketAddrV4
source§impl ToSocketAddrs for SocketAddrV4
impl ToSocketAddrs for SocketAddrV4
§type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
source§fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>
SocketAddr
s. Read moreimpl Copy for SocketAddrV4
impl Eq for SocketAddrV4
impl StructuralEq for SocketAddrV4
impl StructuralPartialEq for SocketAddrV4
Auto Trait Implementations§
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> Also for T
impl<T> Also for T
source§impl<T> AnyExt for Twhere
T: Any,
impl<T> AnyExt for Twhere
T: Any,
source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
any
only.self
. Read moresource§fn as_any_ref(&self) -> &dyn Anywhere
Self: Sized,
fn as_any_ref(&self) -> &dyn Anywhere
Self: Sized,
any
only.source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
any
only.source§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
source§fn apply<F: FnOnce(Self) -> Res>(self, f: F) -> Reswhere
Self: Sized,
fn apply<F: FnOnce(Self) -> Res>(self, f: F) -> Reswhere
Self: Sized,
result
only.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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
source§impl<T> Mem for Twhere
T: ?Sized,
impl<T> Mem for Twhere
T: ?Sized,
source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
mem
only.source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
mem
only.true
if dropping values of this type matters.source§fn mem_drop(self)where
Self: Sized,
fn mem_drop(self)where
Self: Sized,
mem
only.self
by running its destructor.source§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
mem
only.self
without running its destructor.source§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
mem
only.self
with other, returning the previous value of self
.source§fn mem_take(&mut self) -> Selfwhere
Self: Default,
fn mem_take(&mut self) -> Selfwhere
Self: Default,
mem
only.self
with its default value, returning the previous value of self
.source§fn mem_swap(&mut self, other: &mut Self)where
Self: Sized,
fn mem_swap(&mut self, other: &mut Self)where
Self: Sized,
mem
only.self
and other
without deinitializing either one.source§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
mem
and unsafe_mem
only.source§impl<T> Size for T
impl<T> Size for T
source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
mem
only.source§const BYTE_SIZE: usize = _
const BYTE_SIZE: usize = _
mem
only.source§const PTR_SIZE: usize = 8usize
const PTR_SIZE: usize = 8usize
mem
only.source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
mem
only.