예제 #1
0
파일: server_conn.cpp 프로젝트: ACEZLY/gim
int SvCon::processRegisterResponse(const char* respbody, int len){
	int ret = 0;
	ef::TimeRecorder t("SvCon::handleRegisterResponse");
	LoginResponse lgresp;	
	lgresp.ParseFromArray(respbody, 
		len);
	if(lgresp.status()){
		//reg fail
		disconnect();

		ALogError(m_serv->getConfig().LogName) << "<action:server_register_resp> " 
			"<event_loop:" << getEventLoop() << "> <conid:"
			<< getId() << "> <con_serv_id:" << m_con_serv_id
			<< "> <status:" << lgresp.status() << ">";
		return ret;
	}
	m_status = STATUS_LOGIN; 
	m_sessid = lgresp.sessid();		
	ALogError(m_serv->getConfig().LogName) << "<action:server_register_resp> " 
		"<event_loop:" << getEventLoop() << "> <conid:"
		<< getId() << "> <con_serv_id:" << m_con_serv_id
		<< "> <status:0> <sessid:" << m_sessid << ">";  

	return ret;
}