Skip to content

Commit 329d268

Browse files
authored
Merge pull request #1691 from Gowa2017/master
add some optional parameters
2 parents 87f7418 + e59af85 commit 329d268

File tree

5 files changed

+63
-17
lines changed

5 files changed

+63
-17
lines changed

meta/3rd/luaecs/library/ecs.lua

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ end
7979
function meta:select(pat)
8080
end
8181

82-
---Sync all then component of the eneity represent by a iter
82+
---Sync all then component of the entity represent by a iter to LUA
8383
---@param iter number|ITER #ITER or entity id
8484
---@return table
8585
---@see ECSWorld#_read
@@ -107,7 +107,7 @@ function meta:dumpid(name)
107107
end
108108

109109
---Update world, will free removed(default, or with tag `tagname`) entity.
110-
---@param tagname? string #tagname
110+
---@param tagname? string #tagname, default is REMOVED, but we also can use other tag to delete entities.
111111
---@see ECSWorld#_update
112112
function meta:update(tagname)
113113
end
@@ -132,6 +132,7 @@ local M = {
132132
}
133133

134134
---Lua function
135+
---Construct a new LuaECS World
135136
---@return ECSWorld
136137
function M.world()
137138
end
@@ -156,11 +157,11 @@ end
156157
function meta:template_instance(eid, temp, obj)
157158
end
158159

159-
---Get an entity's component.
160+
---Get an entity's one component, can can write the value.
160161
---@param eid integer
161162
---@param pat string #only one key
162-
---@param value any # when with this values, is write.
163-
---@return any # pattern key is tag, return boolean; lua type, return lua data; else table.
163+
---@param value? any # when with this values, is write.
164+
---@return any|nil # pattern key is tag, return boolean; lua type, return lua data; else table; if write, return nil.
164165
---@see ECSWorld#readall
165166
---@see ECSWorld#fetch
166167
function meta:access(eid, pat, value)
@@ -172,7 +173,7 @@ end
172173
function meta:count(pat)
173174
end
174175

175-
---Extend an iter with patther.
176+
---Extend an iter with pattern.
176177
---@param iter ITER
177178
---@param expat string
178179
---@see ECSWorld#_read
@@ -183,10 +184,11 @@ function meta:extend(iter, expat) end
183184
---@return integer #component id
184185
function meta:component_id(name) end
185186

186-
---Persist User
187+
---Persist Use
187188
function meta:read_component(reader, name, offset, stride, n) end
188189

189190
---Get the first entity of pattern `pattern`
191+
---We can use this as a signletone component.
190192
---@param pattern string
191193
---@return ITER
192194
function meta:first(pattern) end
@@ -220,6 +222,7 @@ function meta:type(name) end
220222
function meta:filter(tagname, pat) end
221223

222224
---Fetch entity's component with pattern `pat`
225+
---You can use out, update and then w:sumit() to modify entity.
223226
---@param eid integer
224227
---@param pat? string
225228
---@see ECSWorld#readall
@@ -355,7 +358,9 @@ function meta:_access(...) end
355358
function meta:__gc(...) end
356359

357360
---C API
358-
-- Add entity (eid) into a group with groupid (32bit integer)
361+
--- Add entity (eid) into a group with groupid (32bit integer)
362+
---**NOTE:We can add entity to a group, but we can not remove it from a group.**
363+
---**NOTE:We can iterate a group, but we can not random visit a group member.**
359364
---@param groupid number #32bit
360365
---@param eid number
361366
function meta:group_add(groupid, eid) end

meta/3rd/skynet/library/skynet.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ end
205205
---@param addr SERVICEADDR @目标服务地址
206206
---@param typename string @类型名
207207
---@param msg lightuserdata
208-
---@param sz number
208+
---@param sz? number
209209
function skynet.rawsend(addr, typename, msg, sz)
210210
end
211211

@@ -217,6 +217,7 @@ end
217217
---@param addr SERVICEADDR @目标服务地址
218218
---@param typename string @类型名
219219
---@vararg any @传输的数据
220+
---@return ...
220221
function skynet.call(addr, typename, ...)
221222
end
222223

@@ -296,7 +297,7 @@ end
296297
--- 用于启动一个新的 Lua 服务。name 是脚本的名字(不用写 .lua 后缀)。只有被启动的脚本的 start 函数返回后,这个 API 才会返回启动的服务的地址,这是一个阻塞 API 。如果被启动的脚本在初始化环节抛出异常,或在初始化完成前就调用 skynet.exit 退出,skynet.newservice 都会抛出异常。如果被启动的脚本的 start 函数是一个永不结束的循环,那么 newservice 也会被永远阻塞住。
297298
--- > 启动参数其实是以字符串拼接的方式传递过去的。所以不要在参数中传递复杂的 Lua 对象。接收到的参数都是字符串,且字符串中不可以有空格(否则会被分割成多个参数)。这种参数传递方式是历史遗留下来的,有很多潜在的问题。目前推荐的惯例是,让你的服务响应一个启动消息。在 newservice 之后,立刻调用 skynet.call 发送启动请求。
298299
---@param name string #脚本名字
299-
---@vararg string #可选参数
300+
---@vararg string|number #可选参数
300301
function skynet.newservice(name, ...)
301302
end
302303

meta/3rd/skynet/library/skynet/db/mongo.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ end
204204
function mongo_cursor:limit(amount)
205205
end
206206
---统计行数
207-
---@param with_limit_and_skip boolean
207+
---@param with_limit_and_skip? boolean
208208
function mongo_cursor:count(with_limit_and_skip)
209209
end
210210
---是否有下一行

meta/3rd/skynet/library/skynet/db/redis.lua

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---@meta
2-
local redis = {}
2+
local redis = {}
33

44
---@class redisconfig
55
---@field host string
@@ -19,31 +19,50 @@ local redis = {}
1919
local command = {}
2020
function command:disconnect()
2121
end
22+
23+
---Is key exists
24+
---@param k string
25+
---@return boolean
2226
function command:exists(k)
2327
end
28+
29+
---Does value is a member of set key.
30+
---@param key string #key of a set
31+
---@param value string #value
2432
function command:sismember(key, value)
2533
end
34+
35+
---Pipline command
36+
---If resp is a table and exits, return boolean, resp.
37+
---Or return the last result. boolean, out
38+
---@param ops string[]
39+
---@param resp? table
2640
function command:pipeline(ops, resp)
2741
end
2842

2943
--- watch mode, only can do SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE, PING and QUIT command.
3044
--- we can call watch:message in endless loop.
3145
---@class watch
32-
local watch = {}
46+
local watch = {}
3347
function watch:disconnect()
3448
end
49+
3550
---阻塞模式读取消息
3651
function watch:message()
3752
end
53+
3854
---subscribe channel
3955
function watch:subscribe(...)
4056
end
57+
4158
---pattern subscribe channels
4259
function watch:psubscribe(...)
4360
end
61+
4462
---unsubscribe
4563
function watch:unsubscribe(...)
4664
end
65+
4766
---punsubscribe
4867
function watch:punsubscribe(...)
4968
end

meta/3rd/skynet/library/skynet/socket.lua

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,52 +11,62 @@ local socket = {}
1111
---@return number @skynet对套接字描述符的表示
1212
function socket.open(addr, port)
1313
end
14+
1415
---* 绑定系统文件描述符
1516
---@param os_fd number
1617
---@return number @skynet对套接字描述符的表示
1718
function socket.bind(os_fd)
1819
end
20+
1921
---* 等价于 socket.bind(0),绑定到标准输出
2022
---@return number @skynet对套接字描述符的表示
2123
function socket.stdin()
2224
end
25+
2326
---* accept 是一个函数。每当一个监听的 id 对应的 socket 上有连接接入的时候,都会调用 accept 函数。这个函数会得到接入连接的 id 以及 ip 地址。你可以做后续操作。
2427
---* 开始收发套接字数据,并设置一个回调
2528
---* 这个函数会将套接字索引与一个 Lua 的结构封装起来,并在协程内挂起 (skynet.wait)
2629
---* 当有数据事件到达时,就会 skynet.wakeup 协程来
2730
---@param id number @skynet套接字索引
28-
---@param accept fun(...) @事件回调函数
31+
---@param accept? fun(...) @事件回调函数,监听字才需要这个
2932
---@return number | nil, error
3033
function socket.start(id, accept)
3134
end
35+
3236
---* 暂停收发一个套接字上的数据
3337
---@param id number @skynet套接字索引
3438
function socket.pause(id)
3539
end
40+
3641
---* 强行关闭一个连接。和 close 不同的是,它不会等待可能存在的其它 coroutine 的读操作。
3742
---* 一般不建议使用这个 API ,但如果你需要在 __gc 元方法中关闭连接的话,shutdown 是一个比 close 更好的选择(因为在 gc 过程中无法切换 coroutine)
3843
---@param id number @skynet套接字索引
3944
function socket.shutdown(id)
4045
end
46+
4147
---* 在极其罕见的情况下,需要粗暴的直接关闭某个连接,而避免 socket.close 的阻塞等待流程,可以使用它。
4248
---@param id number @skynet套接字索引
4349
function socket.close_fd(id)
4450
end
51+
4552
---* 关闭一个连接,这个 API 有可能阻塞住执行流。因为如果有其它 coroutine 正在阻塞读这个 id 对应的连接,会先驱使读操作结束,close 操作才返回。
4653
---@param id number @skynet套接字索引
4754
function socket.close(id)
4855
end
56+
4957
---从一个 socket 上读 sz 指定的字节数。如果读到了指定长度的字符串,它把这个字符串返回。如果连接断开导致字节数不够,将返回一个 false 加上读到的字符串。如果 sz 为 nil ,则返回尽可能多的字节数,但至少读一个字节(若无新数据,会阻塞)。
5058
---@param id number @skynet套接字索引
5159
---@param sz number | nil @要读取的字节数,nil 尽可能多的读
5260
---@return string | nil, string
5361
function socket.read(id, sz)
5462
end
63+
5564
---* 从一个 socket 上读所有的数据,直到 socket 主动断开,或在其它 coroutine 用 socket.close 关闭它。
5665
---@param id number @skynet套接字索引
5766
---@return buffer | nil, buffer
5867
function socket.readall(id)
5968
end
69+
6070
---* 从一个 socket 上读一行数据。sep 指行分割符。默认的 sep 为 "\n"。读到的字符串是不包含这个分割符的。
6171
---@param id number @skynet套接字索引
6272
---@return buffer | nil, buffer
@@ -67,11 +77,13 @@ end
6777
---@param id number @skynet套接字索引
6878
function socket.block(id)
6979
end
80+
7081
---* 是否合法套接字
7182
---@param id number @skynet套接字索引
7283
---@return boolean
7384
function socket.invalid(id)
7485
end
86+
7587
---* 是否已断开
7688
---@param id number @skynet套接字索引
7789
---@return boolean
@@ -80,40 +92,49 @@ end
8092

8193
---* 监听一个端口,返回一个 id ,供 start 使用。
8294
---@param host string @地址,可以是 ip:port
83-
---@param port number @断开,可为 nil,此时从 host 内获取端口信息
84-
---@param backlog number @队列长度
95+
---@param port? number @端口,可为 nil,此时从 host 内获取端口信息
96+
---@param backlog? number @队列长度
8597
---@return number @skynet套接字索引
8698
function socket.listen(host, port, backlog)
8799
end
100+
88101
---* 清除 socket id 在本服务内的数据结构,但并不关闭这个 socket 。这可以用于你把 id 发送给其它服务,以转交 socket 的控制权。
89102
function socket.abandon(id)
90103
end
104+
91105
---* 设置缓冲区大小
92106
---@param id number @skynet套接字索引
93107
---@param limit number @缓冲区大小
94108
function socket.limit(id, limit)
95109
end
110+
96111
function socket.udp(callback, host, port)
97112
end
113+
98114
function socket.udp_connect(id, addr, port, callback)
99115
end
116+
100117
function socket.warning(id, callback)
101118
end
119+
102120
function socket.onclose(id, callback)
103121
end
122+
104123
---* 把一个字符串置入正常的写队列,skynet 框架会在 socket 可写时发送它。
105124
---* 这和 socketdriver.send 是一个
106125
---@see socketdriver#send
107126
---@param id number @skynet套接字索引
108127
---@param msg string @数据
109-
---@param sz number @大小
128+
---@param sz? number @大小,如果是字符串则不需要
110129
function socket.write(id, msg, sz)
111130
end
131+
112132
---* 把字符串写入低优先级队列。如果正常的写队列还有写操作未完成时,低优先级队列上的数据永远不会被发出。只有在正常写队列为空时,才会处理低优先级队列。但是,每次写的字符串都可以看成原子操作。不会只发送一半,然后转去发送正常写队列的数据。
113133
---@param id number @skynet套接字索引
114134
---@param msg string @数据
115135
function socket.lwrite()
116136
end
137+
117138
function socket.header()
118139
end
119140

0 commit comments

Comments
 (0)