鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

BioPutWithCopyFree

函数定义

对象免拷贝写入接口。

实现方法

CResult BioPutWithCopyFree(uint64_t tenantId, const char *key, CacheSpaceDesc *space)

参数说明

表1 参数说明

参数名

数据类型

参数类型

描述

tenantId

uint64_t

入参

租户ID。

key

uint64_t

入参

对象的key。

space

CacheSpaceDesc*

入参

调用BioAllocCacheSpace成功后返回的缓存空间,所有CacheAddress address[CACHE_SPACE_ADDRESS_SIZE]中的size和最大值为4,194,304(4M)。

缓存空间信息描述:

  • uint8_t allocLoc;

    申请标记。

  • uint16_t addressNum;

    地址数量。

  • uint16_t descriptorSize;

    缓存空间描述长度。

  • ObjLocation loc;

    缓存空间位置。

  • CacheAddress address[CACHE_SPACE_ADDRESS_SIZE];

    缓存空间地址信息:

    • uint64_t address;

    缓存地址。

    • uint32_t size;

    缓存长度。

  • char descriptorInfo[CACHE_SPACE_DEC_SIZE];

    缓存空间描述信息。

返回值

表2 返回值说明

返回值

描述

RET_CACHE_OK

操作成功。

RET_CACHE_NOT_FOUND

Cache实例不存在。

RET_CACHE_EPERM

传入参数错误。

RET_CACHE_NOT_READY

BoostIO服务未就绪。

RET_CACHE_NEED_RETRY

需要外部重试。

RET_CACHE_PT_FAULT

分区错误,对象位置无法写入。

RET_CACHE_ERROR

操作失败。