pub struct AbstractSocketNamespace<K> { /* private fields */ }Expand description
A registry of abstract sockets.
AF_UNIX sockets can be bound either to nodes in the file system or to abstract addresses that are independent of the file system. This object holds the bindings to abstract addresses.
See “abstract” in https://man7.org/linux/man-pages/man7/unix.7.html
Implementations§
Source§impl<K> AbstractSocketNamespace<K>
impl<K> AbstractSocketNamespace<K>
pub fn new( address_maker: Box<dyn Fn(K) -> SocketAddress + Send + Sync>, ) -> Arc<AbstractSocketNamespace<K>>
pub fn bind<L>(
&self,
locked: &mut Locked<L>,
current_task: &CurrentTask,
address: K,
socket: &SocketHandle,
) -> Result<(), Errno>where
L: LockEqualOrBefore<FileOpsCore>,
pub fn lookup<Q>(&self, address: &Q) -> Result<SocketHandle, Errno>
Auto Trait Implementations§
impl<K> !Freeze for AbstractSocketNamespace<K>
impl<K> !RefUnwindSafe for AbstractSocketNamespace<K>
impl<K> Send for AbstractSocketNamespace<K>where
K: Send,
impl<K> Sync for AbstractSocketNamespace<K>where
K: Send,
impl<K> Unpin for AbstractSocketNamespace<K>where
K: Unpin,
impl<K> !UnwindSafe for AbstractSocketNamespace<K>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
Converts the given service transport handle of type
T to [Self]Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
impl<T, U> MultiArchFrom<T> for Uwhere
U: From<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
impl<T, U> TryIntoExt<U> for Twhere
U: TryFromExt<T>,
type Error = <U as TryFromExt<T>>::Error
§fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
fn try_into_ext(self) -> Result<U, <T as TryIntoExt<U>>::Error>
Tries to perform the conversion.