Exemplo n.º 1
0
inline int ChannelBalancer::SelectChannel(const LoadBalancer::SelectIn& in,
                                          SelectOut* out) {
    LoadBalancer::SelectOut sel_out(&out->fake_sock);
    const int rc = SelectServer(in, &sel_out);
    if (rc != 0) {
        return rc;
    }
    out->need_feedback = sel_out.need_feedback;
    return 0;
}
Exemplo n.º 2
0
RESULT_T ApoClient::_enterGame(const char *host, int port, const char *roleName,bool bWithoutLoadBalance)
{
	RESULT_T ret = SelectServer(host, port);
	if (ret!=ESERVER_ERR_SUCCESS)	{
		return ret;
	}
	role_base_info roleBaseInfo;
	int num = m_login->GetRoleList(&roleBaseInfo,1);
	if (-1==num){
		return (RESULT_T)m_login->GetLastError();
	}
	if (num ==0){
		if (-1 == m_login->CreateRole(roleName, roleBaseInfo)) {
			return (RESULT_T)m_login->GetLastError();
		}
	}
	m_roleId = roleBaseInfo.rid;
	onLogin();
	return ESERVER_ERR_SUCCESS;
	
}