公共成员函数 | 所有成员列表
kvikio::CompatModeManager 类参考

存储和管理与 FileHandle 关联的兼容模式数据。 更多...

#include <compat_mode.hpp>

公共成员函数

 CompatModeManager () noexcept=default
 构造一个空的兼容模式管理器。
 
 CompatModeManager (std::string const &file_path, std::string const &flags, mode_t mode, CompatMode compat_mode_requested, FileHandle *file_handle)
 构造与 FileHandle 关联的兼容模式管理器。 更多...
 
 CompatModeManager (const CompatModeManager &)=default
 
CompatModeManageroperator= (const CompatModeManager &)=default
 
 CompatModeManager (CompatModeManager &&) noexcept=default
 
CompatModeManageroperator= (CompatModeManager &&) noexcept=default
 
CompatMode infer_compat_mode_if_auto (CompatMode compat_mode) noexcept
 功能上与 defaults::infer_compat_mode_if_auto(CompatMode) 相同。 更多...
 
bool is_compat_mode_preferred (CompatMode compat_mode) noexcept
 功能上与 defaults::is_compat_mode_preferred(CompatMode) 相同。 更多...
 
bool is_compat_mode_preferred () const noexcept
 检查关联 FileHandle 的同步 I/O 兼容模式是否预期为 CompatMode::ON更多...
 
bool is_compat_mode_preferred_for_async () const noexcept
 检查关联 FileHandle 的异步 I/O 兼容模式是否预期为 CompatMode::ON更多...
 
CompatMode compat_mode_requested () const noexcept
 检索请求的原始兼容模式。 更多...
 
void validate_compat_mode_for_async () const
 根据管理器中现有的兼容模式数据,确定是否可以执行异步 I/O(或抛出异常)。 更多...
 

详细说明

存储和管理与 FileHandle 关联的兼容模式数据。

定义于文件 compat_mode.hpp58 行。

构造函数与析构函数文档

◆ CompatModeManager()

kvikio::CompatModeManager::CompatModeManager ( std::string const &  file_path,
std::string const &  flags,
mode_t  mode,
CompatMode  compat_mode_requested,
FileHandle file_handle 
)

构造与 FileHandle 关联的兼容模式管理器。

根据文件路径、请求的兼容模式和系统配置,兼容模式管理器

  • 分别推断出同步和异步 I/O 路径的最终兼容模式。
  • 初始化与 FileHandle 关联的文件封装器和 cuFile 句柄。
参数
file_path参考 FileHandle::FileHandle(std::string const&, std::string const&, mode_t, CompatMode)
flags同上。
mode同上。
compat_mode_requested同上。
file_handle指向拥有此兼容模式管理器的 FileHandle 对象的指针。

成员函数文档

◆ compat_mode_requested()

CompatMode kvikio::CompatModeManager::compat_mode_requested ( ) const
noexcept

检索请求的原始兼容模式。

返回值
请求的原始兼容模式。

◆ infer_compat_mode_if_auto()

CompatMode kvikio::CompatModeManager::infer_compat_mode_if_auto ( CompatMode  compat_mode)
noexcept

功能上与 defaults::infer_compat_mode_if_auto(CompatMode) 相同。

参数
compat_mode兼容模式。
返回值
如果给定的兼容模式是 CompatMode::AUTO,则推断出最终的兼容模式。

◆ is_compat_mode_preferred() [1/2]

bool kvikio::CompatModeManager::is_compat_mode_preferred ( ) const
noexcept

检查关联 FileHandle 的同步 I/O 兼容模式是否预期为 CompatMode::ON

返回值
布尔值结果。

◆ is_compat_mode_preferred() [2/2]

bool kvikio::CompatModeManager::is_compat_mode_preferred ( CompatMode  compat_mode)
noexcept

功能上与 defaults::is_compat_mode_preferred(CompatMode) 相同。

参数
compat_mode兼容模式。
返回值
布尔值结果。

◆ is_compat_mode_preferred_for_async()

bool kvikio::CompatModeManager::is_compat_mode_preferred_for_async ( ) const
noexcept

检查关联 FileHandle 的异步 I/O 兼容模式是否预期为 CompatMode::ON

返回值
布尔值结果。

◆ validate_compat_mode_for_async()

void kvikio::CompatModeManager::validate_compat_mode_for_async ( ) const

根据管理器中现有的兼容模式数据,确定是否可以执行异步 I/O(或抛出异常)。

例如,当 compat_mode_requested()CompatMode::OFFis_compat_mode_preferred()CompatMode::OFF,但 is_compat_mode_preferred_for_async()CompatMode::ON 时(由于缺少 cuFile 流 API 或 cuFile 配置文件),不能执行异步 I/O。


此类的文档由以下文件生成