Esempio n. 1
0
rc_t LogCollectorImpl::reqCheckSum(file_id_t file_id, uint32_t fb_cb_pos, uint32_t fb_cs_count) {

  Request* pRequest = getRequest(0);
  if (NULL == pRequest) { return RC_S_NULL_VALUE; }

  // checksum
  CheckSumRequest* pCheckSumRequest = pRequest->GetCheckSumRequest();
  if (NULL == pCheckSumRequest) { return RC_E_NOMEM; }

  FileID* pFileID = pCheckSumRequest->mutable_id();
  if (NULL == pFileID) { return RC_E_NOMEM; }
  pFileID->set_id(file_id);

  pCheckSumRequest->set_fb_cs_pos(fb_cb_pos);
  pCheckSumRequest->set_fb_cs_count(fb_cs_count);

  if (RC_S_OK != pRequest->SerializeRequest()) { return RC_S_FAILED; }
  return m_autoRelINetHandler->Send(this, pRequest->GetRequestData(), pRequest->GetRequestSize());
}