endpoint->port);
if(NULL == blockDataID || NULL == blockDataID->id || blockDataID->idLength < 1)
{
- OIC_LOG(ERROR, TAG, "blockId is null");
- CADestroyBlockID(blockDataID);
- return CA_STATUS_FAILED;
+ // if retransmission is timeout, callback msg will be send without token.
+ if (NULL == blockDataID && !receivedData->responseInfo->info.token)
+ {
+ OIC_LOG(INFO, TAG, "retransmission was stopped");
+ return CA_REQUEST_TIMEOUT;
+ }
+ else
+ {
+ OIC_LOG(ERROR, TAG, "blockId is null");
+ CADestroyBlockID(blockDataID);
+ return CA_STATUS_FAILED;
+ }
}
CARemoveBlockDataFromList(blockDataID);
)
{
CAResult_t res = CAReceiveBlockWiseData(pdu, &(sep->endpoint), cadata, dataLen);
- if (CA_NOT_SUPPORTED == res)
+ if (CA_NOT_SUPPORTED == res || CA_REQUEST_TIMEOUT == res)
{
OIC_LOG(ERROR, TAG, "this message does not have block option");
CAQueueingThreadAddData(&g_receiveThread, cadata, sizeof(CAData_t));