Return Type | Function name | Arguments |
---|---|---|
hzEcode | hzDeltaClient::Connect | (void) |
Declared in file: hzDelta.h
Defined in file : hzDelta.cpp
Function Logic:
Function body:
hzEcode hzDeltaClient::Connect (void) { _hzfunc("hzDeltaClient::Connect") ; hzIpaddr ipa ; uint32_t len ; uint32_t nUser ; uint32_t nGroup ; uint32_t nProcID ; hzEcode rc = E_OK ; if (!m_AppDescFile) hzexit(E_NOINIT, "No previous call to InitOnce") ; /* ** ** Connect to delta server and send ** */ ipa = "127.0.0.1" ; rc = m_Connection.ConnectStd(ipa, s_deltaPort) ; if (rc != E_OK) return rc ; nProcID = getpid() ; nUser = geteuid() ; nGroup = getegid() ; m_cvData[0]= (nProcID & 0xff000000)>>24; m_cvData[1]= (nProcID & 0xff0000)>>16; m_cvData[2]= (nProcID & 0xff00)>>8; m_cvData[3]= (nProcID & 0xff); m_cvData[4]= DELTA_CLI_CONNECT ; len = 16+m_AppDescFile.Length() ; m_cvData[5]= (len & 0xff00)>>8; m_cvData[6]= (len & 0xff); m_cvData[7]= (nUser & 0xff000000)>>24; m_cvData[8]= (nUser & 0xff0000)>>16; m_cvData[9]= (nUser & 0xff00)>>8; m_cvData[10]=(nUser & 0xff); m_cvData[11]=(nGroup & 0xff000000)>>24; m_cvData[12]=(nGroup & 0xff0000)>>16; m_cvData[13]=(nGroup & 0xff00)>>8; m_cvData[14]=(nGroup & 0xff); strcpy(m_cvData + 15,*m_AppDescFile); threadLog("Sending app desc file %d %d bytes [%s]\n", m_AppDescFile.Length(), len, *m_AppDescFile) ; if (m_Connection.Send(m_cvData, len) != E_OK) return E_SENDFAIL ; if (m_Connection.Recv(m_cvData, len, HZ_MAXPACKET) != E_OK) return E_RECVFAIL ; if (m_cvData[4]== DELTA_ACK) { m_nSessID = 0; m_nSessID |= (m_cvData[0]<< 16); m_nSessID |= (m_cvData[1]<< 16); m_nSessID |= (m_cvData[2]<< 8); m_nSessID |= m_cvData[3]; return E_OK ; } return E_PROTOCOL ; }