源战役
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

71 rindas
2.9 KiB

%%% ----------------------------------------------------------------------------
%%% @author huangyongxing@yeah.net
%%% @doc
%%% 跨服数据结构
%%% @end
%%% ----------------------------------------------------------------------------
-ifndef(CLUSTERS_HRL).
-define(CLUSTERS_HRL, ok).
%% 重连跨服服务器间隔时间
-define(RECONNECT_TIME, 30000).
%% 跨服中游戏服节点数据管理
% -define(SQL_GET_CLUSTER_NODES, <<"SELECT `node` FROM `clusters`">>).
-define(SQL_TRUNCATE_CLUSTERS,
<<"TRUNCATE TABLE `clusters`">>).
-define(SQL_REPLACE_CLUSTERS_NODE,
<<"REPLACE INTO `clusters` (`node`,`server_id`) VALUES('~ts', ~w)"/utf8>>).
-define(SQL_DELETE_CLUSTERS_NODE,
<<"DELETE from `clusters` WHERE `server_id` = ~w"/utf8>>).
%% 节点类型
-define(CLUSTER_NODE, 0). % 游戏服节点
-define(CLUSTER_CENTER, 1). % 跨服中心节点
%% 游戏服id对应节点信息
-define(SERVER_INFO, server_info).
-record(server_info, {
server_id = 0 % 游戏服id
,node = undefined % 节点名
,now_server_id = 0 % 合服后游戏服最新的ServerId
,server_num = 0 % 游戏服编号
,platform = <<>> % 平台名
,alive = 0 % 当前连上来的服务器为1,如果服务器断开,则置为0
}).
%% 跨服中心节点数据
-record(clusters_center, {
node % 跨服本节点名
,nodes % 跨服节点列表
}).
%% 跨服中心单个节点数据
-record(game_node, {
node = undefined % 节点名
,server_id = 0 % 游戏服id(后台唯一Id)
,platform = "" % 平台名
,server_num = 0 % 服务器编号(玩家可见的服编号)
,server_name = <<>> % 游戏服名称
,pid = undefined % 本地服节点的跨服连接进程pid
,monitor = undefined % 对本地服节点管理进程的monitor(跨服中心用)
,open_time = 0 % 具体开服时间戳
,merge_server_ids = [] % 合服server_id列表
}).
%% 跨服本地服节点状态数据
-record(clusters_node, {
center_node = none % 跨服中心节点
,cookie = undefined % 连接cookie
,platform = "" % 平台
,server_id = 0 % server_id
,conn_times = 0 % 连接次数
,conn_timer = undefined % 连接定时器
,pid = undefined % 跨服中心管理进程pid(用于判定是否已经连接)
,monitor = undefined % 对跨服中心管理进程的monitor
,conn_worker = undefined % 负责与center节点初步建立连接的进程pid
,wait_conn = false % 是否等待conn_worker处理连接状态
}).
-endif.