| 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 ;
}