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 格式