mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-09-08 00:00:13 +02:00
net: add SocketAddr::as_abstract_name (#7491)
This commit is contained in:
+2
-1
@@ -1,4 +1,4 @@
|
|||||||
306
|
307
|
||||||
&
|
&
|
||||||
+
|
+
|
||||||
<
|
<
|
||||||
@@ -184,6 +184,7 @@ mut
|
|||||||
mutex
|
mutex
|
||||||
Mutex
|
Mutex
|
||||||
Nagle
|
Nagle
|
||||||
|
namespace
|
||||||
nonblocking
|
nonblocking
|
||||||
nondecreasing
|
nondecreasing
|
||||||
noop
|
noop
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ pub struct SocketAddr(pub(super) std::os::unix::net::SocketAddr);
|
|||||||
impl SocketAddr {
|
impl SocketAddr {
|
||||||
/// Returns `true` if the address is unnamed.
|
/// Returns `true` if the address is unnamed.
|
||||||
///
|
///
|
||||||
/// Documentation reflected in [`SocketAddr`]
|
/// Documentation reflected in [`SocketAddr`].
|
||||||
///
|
///
|
||||||
/// [`SocketAddr`]: std::os::unix::net::SocketAddr
|
/// [`SocketAddr`]: std::os::unix::net::SocketAddr
|
||||||
pub fn is_unnamed(&self) -> bool {
|
pub fn is_unnamed(&self) -> bool {
|
||||||
@@ -21,12 +21,30 @@ impl SocketAddr {
|
|||||||
|
|
||||||
/// Returns the contents of this address if it is a `pathname` address.
|
/// Returns the contents of this address if it is a `pathname` address.
|
||||||
///
|
///
|
||||||
/// Documentation reflected in [`SocketAddr`]
|
/// Documentation reflected in [`SocketAddr`].
|
||||||
///
|
///
|
||||||
/// [`SocketAddr`]: std::os::unix::net::SocketAddr
|
/// [`SocketAddr`]: std::os::unix::net::SocketAddr
|
||||||
pub fn as_pathname(&self) -> Option<&Path> {
|
pub fn as_pathname(&self) -> Option<&Path> {
|
||||||
self.0.as_pathname()
|
self.0.as_pathname()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the contents of this address if it is in the abstract namespace.
|
||||||
|
///
|
||||||
|
/// Documentation reflected in [`SocketAddrExt`].
|
||||||
|
/// The abstract namespace is a Linux-specific feature.
|
||||||
|
///
|
||||||
|
///
|
||||||
|
/// [`SocketAddrExt`]: std::os::linux::net::SocketAddrExt
|
||||||
|
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||||
|
#[cfg_attr(docsrs, doc(cfg(any(target_os = "linux", target_os = "android"))))]
|
||||||
|
pub fn as_abstract_name(&self) -> Option<&[u8]> {
|
||||||
|
#[cfg(target_os = "android")]
|
||||||
|
use std::os::android::net::SocketAddrExt;
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
use std::os::linux::net::SocketAddrExt;
|
||||||
|
|
||||||
|
self.0.as_abstract_name()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Debug for SocketAddr {
|
impl fmt::Debug for SocketAddr {
|
||||||
|
|||||||
Reference in New Issue
Block a user