aardio 文档

fsys.mmap 库模块帮助文档

fsys 成员列表 #

fsys.mmap #

用于创建内存映射,主要用于进程间共享内存,
例如process.command就使用了fsys.mmap在进程间共享数据

创建或打开内存映射文件,
返回对象可传入其他线程使用。

fsys.mmap() #

返回对象:fsysMmapObject

fsys.mmap(内存映射文件句柄) #

使用句柄直接打开内存映射文件

fsys.mmap(内存映射文件句柄,true) #

使用句柄直接打开内存映射文件
添加析构函数负责释放句柄

fsys.mmap(文件路径,共享名,文件大小,文件大小高32位,访问属性,内存保护属性) #

创建内存映射文件,所有参数可选,
参数@1可为空,可指定文件路径,也可直指定fsys.file对象,

省略共享名创建匿名对象,
共享名可用于跨进程共享内存映射文件,
共享名不能包含反斜杠,不能超过260个字符
thread.event,process.mutex,fsys.mmap等共享名字不能相同,

如果不指定文件,或打开空文件,则大小默认设为64MB,
文件大小高32位如果省略,可选使用math.size64对象指定文件大小

fsysMmapObject 成员列表 #

fsysMmapObject.close() #

关闭文件映射对象

fsysMmapObject.conflict #

如果打开已存在的内存映射,该属性为真

fsysMmapObject.getOffset() #

返回当前位置,math.size64对象,

返回对象:mathSize64Object

fsysMmapObject.getOffset32() #

返回当前位置
返回两个值,分别为低32位,高32位

fsysMmapObject.mapView(内存大小) #

映射内存并返回指针

fsysMmapObject.read() #

自当前位置读取数据,
读取成功向后移动指针指向已读取数据尾部
参数可以为读取长度,也可以是结构体

fsysMmapObject.readTable() #

读入table对象
成功返回table,失败返回null值以及读入的文本

fsysMmapObject.seek("cur",偏移量,偏移量高位) #

移动文件指针,
参数一为"cur"表示相对当前位置
参数三为可选参数

fsysMmapObject.seek("set",偏移量,偏移量高位) #

移动文件指针,
参数一为"set"表示相对开始位置
参数三为可选参数,参数二默认为0

fsysMmapObject.unmapView(内存指针) #

取消映射,
参数必须是mapView函数返回的指针地址

fsysMmapObject.write #

写入数据
多进程读写应使用 process.mutex 创建互斥锁

fsysMmapObject.write(写入数据) #

写入数据\参数可以是结构体或字符串、buffer、或数值
该函数不支持多个参数,读取成功返回true,以及长度,
失败返回false,以及错误信息

fsysMmapObject.write(写入数据,写入长度) #

写入数据\参数可以是字符串、buffer、指针
字符串、buffer 可选指定写入长度
指针必须指定长度

fsysMmapObject.writeTable #

写入table对象
多进程读写应使用 process.mutex 创建互斥锁

fsysMmapObject.writeTable(table对象) #

写入table对象,仅支持可序列化为字面量的对象
多进程读写应使用 process.mutex 创建互斥锁

Markdown 格式