Skip to content

Commit 1a9c8ba

Browse files
committed
Added examples to std::net::{SocketAddr, SocketAddrV4, SocketAddrV6} docs
1 parent 6f0c742 commit 1a9c8ba

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/libstd/net/addr.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@ use slice;
2727
///
2828
/// [`SocketAddrV4`]: ../../std/net/struct.SocketAddrV4.html
2929
/// [`SocketAddrV6`]: ../../std/net/struct.SocketAddrV6.html
30+
///
31+
/// # Examples
32+
///
33+
/// ```
34+
/// use std::net::{IpAddr, Ipv4Addr, SocketAddr};
35+
///
36+
/// let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
37+
///
38+
/// assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
39+
/// assert_eq!(socket.port(), 8080);
40+
/// assert_eq!(socket.is_ipv4(), true);
41+
/// ```
3042
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
3143
#[stable(feature = "rust1", since = "1.0.0")]
3244
pub enum SocketAddr {
@@ -48,6 +60,18 @@ pub enum SocketAddr {
4860
/// [IETF RFC 793]: https://tools.ietf.org/html/rfc793
4961
/// [IPv4 address]: ../../std/net/struct.Ipv4Addr.html
5062
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
63+
///
64+
/// # Examples
65+
///
66+
/// ```
67+
/// use std::net::{Ipv4Addr, SocketAddrV4};
68+
///
69+
/// let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
70+
///
71+
/// assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
72+
/// assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
73+
/// assert_eq!(socket.port(), 8080);
74+
/// ```
5175
#[derive(Copy)]
5276
#[stable(feature = "rust1", since = "1.0.0")]
5377
pub struct SocketAddrV4 { inner: c::sockaddr_in }
@@ -63,6 +87,18 @@ pub struct SocketAddrV4 { inner: c::sockaddr_in }
6387
/// [IETF RFC 2553, Section 3.3]: https://tools.ietf.org/html/rfc2553#section-3.3
6488
/// [IPv6 address]: ../../std/net/struct.Ipv6Addr.html
6589
/// [`SocketAddr`]: ../../std/net/enum.SocketAddr.html
90+
///
91+
/// # Examples
92+
///
93+
/// ```
94+
/// use std::net::{Ipv6Addr, SocketAddrV6};
95+
///
96+
/// let socket = SocketAddrV6::new(Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 1), 8080, 0, 0);
97+
///
98+
/// assert_eq!("[2001:db8::1]:8080".parse(), Ok(socket));
99+
/// assert_eq!(socket.ip(), &Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 1));
100+
/// assert_eq!(socket.port(), 8080);
101+
/// ```
66102
#[derive(Copy)]
67103
#[stable(feature = "rust1", since = "1.0.0")]
68104
pub struct SocketAddrV6 { inner: c::sockaddr_in6 }

0 commit comments

Comments
 (0)