| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hzDeltaClient::DeltaWrite | (hzChain&,) |
Declared in file: hzDelta.h
Defined in file : hzDelta.cpp
Function Logic:
Function body:
hzEcode hzDeltaClient::DeltaWrite (hzChain& Zd)
{
_hzfunc("hzDeltaClient::DeltaWrite()") ;
if (!Zd.Size())
return E_OK ;
hzChain X ;
uint32_t len ;
uint32_t nRecv ;
hzEcode rc ;
m_cvData[0]= (m_nSessID & 0xff000000)>>24;
m_cvData[1]= (m_nSessID & 0xff0000)>>16;
m_cvData[2]= (m_nSessID & 0xff00)>>8;
m_cvData[3]= m_nSessID & 0xff;
X.AddByte(m_cvData[0]); X.AddByte(m_cvData[1]); X.AddByte(m_cvData[2]); X.AddByte(m_cvData[3]);
m_cvData[0]= DELTA_CLI_DELTA ;
len = 8+ Zd.Size() ;
m_cvData[1]= (len & 0xff0000)>>16;
m_cvData[2]= (len & 0xff00)>>8;
m_cvData[3]= len & 0xff;
X.AddByte(m_cvData[0]); X.AddByte(m_cvData[1]); X.AddByte(m_cvData[2]); X.AddByte(m_cvData[3]);
X << Zd ;
if ((rc = m_Connection.Send(X)) != E_OK)
return rc ;
if ((rc = m_Connection.Recv(m_cvData, nRecv, HZ_MAXPACKET)) != E_OK)
return rc ;
if (m_cvData[0]!= DELTA_ACK)
return hzerr(E_PROTOCOL, "Operation failed") ;
return E_OK ;
}