访问对象[内部rpc]
function M:register(…)
描述
注册访问,想要访问一个可热更访问,首先需要在load阶段注册访问
参数
- … string[] 可热更访问模块名 列表
返回值
function M:set_week_visitor(…)
描述
设置弱访问者 如果2个可热更模块相互访问,需要有一方去标记另一方为弱访问者,这样才不会因环访问导致双方旧服务无法退出
参数
- … string[] 可热更访问模块名 列表
返回值
function M:set_always_swtich(…)
描述
设置总能切换访问到新服务,如果不想因自身为旧服务,就只能访问对方旧服务,就可以调用此接口
参数
- … string[] 可热更访问模块名 列表
返回值
function M:is_week_visitor(module_name)
描述
是否弱访问者
参数
- module_name string 可热更模块名
返回值
- boolean
function M:get_week_visitor_map()
描述
获取弱访问者列表
参数
返回值
- table
function M:get_need_visitor_map()
描述
获取访问列表
参数
返回值
- table
function M:add_queryed_cb(module_name, func)
描述
添加查询到某服务地址的回调
参数
- module_name string 模块名
- func function 回调函数
返回值
function M:add_updated_cb(module_name, func)
描述
添加更新某服务地址的回调
参数
- module_name string 模块名
- func function 回调函数
返回值
function M:monitor_all()
描述
监听所有服务地址
参数
返回值
function M:new(module_name,instance_name,can_switch_func)
描述
创建一个skynet内部rpc调用对象
参数
- module_name string 模块名
- instance_name string 实例名称,它是模块的二级分类
- can_switch_func function|nil 是否可以切服,当连接的模块服务地址更新后,是否要切换到新服务,每次发消息的时候都会检测是否切服,不传默认切
返回值
- table obj
function M:new_raw(module_name,instance_name,can_switch_func)
描述
创建一个skynet内部rpc调用对象, send,call 使用 rawsend rawcall方式(注:一般做转发才用这个,请清楚了解 rawsend和send的区别再考虑使用,否则处理不好,会造成内存泄漏)
参数
- module_name string 模块名
- instance_name string 实例名称,它是模块的二级分类
- can_switch_func function|nil 是否可以切服,当连接的模块服务地址更新后,是否要切换到新服务,每次发消息的时候都会检测是否切服,不传默认切
返回值
- table obj
function M:instance(module_name,instance_name)
描述
常驻new对象 默认切服
参数
- module_name string 模块名
- instance_name string 实例名称,它是模块的二级分类
返回值
- table obj
function M:set_mod_num(num)
描述
设置mod映射访问的数字 如果没有设置,mod消息时默认使用 自身服务id % 服务数量
参数
- num number 模块名
返回值
- table obj
function M:set_instance_name(name)
描述
设置mod映射访问的数字 如果没有设置,mod消息时默认使用 自身服务id % 服务数量
参数
- num number 模块名
返回值
- table obj
function M:get_mod_server_id()
描述
获取通过mod取到的对应服务id
参数
返回值
- number
function M:get_balance_server_id()
描述
获取通过balance取到的对应服务id,balance是简单轮询负载均衡,如果有服务id列表[1,2,3,4],5次的结果是1,2,3,4,1
参数
返回值
- number
function M:get_mod_server_id_by_name()
描述
在instance_name二级分类中,获取通过mod取到的对应服务id,mod是简单hash映射。如果有服务id列表[1,2,3,4],设置mod_num等于3,instance_name等于game,实例名称对应列表(game)[1,2] (hall)[3,4] 每次调用结果都是2
参数
返回值
- number
function M:get_balance_server_id_by_name()
描述
在instance_name二级分类中,获取通过balance取到的对应服务id,balance是简单轮询负载均衡。如果有服务id列表[1,2,3,4],设置instance_name等于game,实例名称对应列表(game)[1,2] (hall)[3,4] 5次的结果是1,2,1,2,1
参数
返回值
- number
function M:mod_send(…)
描述
mod hash映射一个服务id,并send skynet lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:mod_call(…)
描述
mod hash在module_name列表中映射一个服务id,并call skynet lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- … any
function M:balance_send(…)
描述
balance简单负载均衡 skynet send lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:balance_call(…)
描述
balance简单负载均衡 skynet call lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- … any
function M:mod_send_by_name(…)
描述
mod hash在instance_name服务列表中映射一个服务id skynet send lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:mod_call_by_name(…)
描述
mod hash在instance_name服务列表中映射一个服务id skynet call lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- … any
function M:balance_send_by_name(…)
描述
简单负载均衡在instance_name服务列表中轮询服务id skynet send lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:balance_call_by_name(…)
描述
简单负载均衡在instance_name服务列表中轮询服务id skynet call lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- … any
function M:broadcast(…)
描述
广播在module_name服务列表中的服务id skynet send lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:broadcast_call(…)
描述
广播在module_name服务列表中的服务id skynet call lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- table
function M:broadcast_by_name(…)
描述
广播在instance_name服务列表中的服务id skynet send lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
function M:broadcast_call_by_name(…)
描述
广播在instance_name服务列表中的服务id skynet call lua消息
参数
- … any[] cmd, arg1, arg2, arg3
返回值
- table