Return TypeFunction nameArguments
hzEcodehzDeltaClient::DeltaWrite(hzChain&,)

Declared in file: hzDelta.h
Defined in file : hzDelta.cpp

Function Logic:

0:START 1:hzChain::Size 2:!Zd.Size() 3:Return E_OK 4:m_cvData m_cvData m_cvData m_cvData hzChain::AddByte hzChain::AddByte hzChain::AddByte hzChain::AddByte m_cvData hzChain::Size len m_cvData m_cvData m_cvData hzChain::AddByte hzChain::AddByte hzChain::AddByte hzChain::AddByte items 5:(rc=m_Connection.Send(X))!=E_OK 6:Return rc 7:(rc=m_Connection.Recv(m_cvData,nRecv,HZ_MAXPACKET))!=E_OK 8:Return rc 9:m_cvData[0]!=DELTA_ACK 10:Return hzerr(E_PROTOCOL,Operation failed) 11:Return E_OK

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