pub(crate) fn socket( family: AddressFamily, type_: SocketType, protocol: Option<Protocol>, ) -> Result<OwnedFd>