mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-19 00:00:09 +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
|
||||
Nagle
|
||||
namespace
|
||||
nonblocking
|
||||
nondecreasing
|
||||
noop
|
||||
|
||||
@@ -12,7 +12,7 @@ pub struct SocketAddr(pub(super) std::os::unix::net::SocketAddr);
|
||||
impl SocketAddr {
|
||||
/// Returns `true` if the address is unnamed.
|
||||
///
|
||||
/// Documentation reflected in [`SocketAddr`]
|
||||
/// Documentation reflected in [`SocketAddr`].
|
||||
///
|
||||
/// [`SocketAddr`]: std::os::unix::net::SocketAddr
|
||||
pub fn is_unnamed(&self) -> bool {
|
||||
@@ -21,12 +21,30 @@ impl SocketAddr {
|
||||
|
||||
/// 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
|
||||
pub fn as_pathname(&self) -> Option<&Path> {
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user