X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Finc%2Fcablockwisetransfer.h;h=47cbdaaad6a71bcfe5e868c75b7f3d949d95a7ea;hb=refs%2Ftags%2Fsubmit%2Ftizen_4.0%2F20171010.021147;hp=3b848ccbf32c633448596aea74df8d0c67b28336;hpb=edcfc3d2329da7b914771c0dcff5f42c9b74fd93;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/inc/cablockwisetransfer.h b/resource/csdk/connectivity/inc/cablockwisetransfer.h index 3b848cc..47cbdaa 100644 --- a/resource/csdk/connectivity/inc/cablockwisetransfer.h +++ b/resource/csdk/connectivity/inc/cablockwisetransfer.h @@ -30,7 +30,7 @@ #include #include "cathreadpool.h" -#include "camutex.h" +#include "octhread.h" #include "uarraylist.h" #include "cacommon.h" #include "caprotocolmessage.h" @@ -68,10 +68,10 @@ typedef struct u_arraylist_t *dataList; /** data list mutex for synchronization. **/ - ca_mutex blockDataListMutex; + oc_mutex blockDataListMutex; /** sender mutex for synchronization. **/ - ca_mutex blockDataSenderMutex; + oc_mutex blockDataSenderMutex; } CABlockWiseContext_t; /** @@ -91,11 +91,12 @@ typedef struct coap_block_t block1; /**< block1 option. */ coap_block_t block2; /**< block2 option. */ uint16_t type; /**< block option type. */ - CABlockDataID_t* blockDataId; /**< ID set of CABlockData. */ + CABlockDataID_t* blockDataId; /**< ID set of CABlockData. */ CAData_t *sentData; /**< sent request or response data information. */ CAPayload_t payload; /**< payload buffer. */ size_t payloadLength; /**< the total payload length to be received. */ size_t receivedPayloadLen; /**< currently received payload length. */ + uint64_t ttl; /** The TTL for this blockData. */ } CABlockData_t; /** @@ -496,7 +497,7 @@ CAData_t *CAGetDataSetFromBlockDataList(const CABlockDataID_t *blockID); * Update the block data from block-wise transfer list. * @param[in] blockID ID set of CABlockData. * @param[in] sendData New block date should be sent. - * @return CABlockData_t structure. + * @return CAData structure. */ CABlockData_t *CAUpdateDataSetFromBlockDataList(const CABlockDataID_t *blockID, const CAData_t *sendData); @@ -575,6 +576,17 @@ CAResult_t CARemoveAllBlockDataFromList(); CAResult_t CARemoveBlockDataFromListWithSeed(const CAToken_t token, uint8_t tokenLength, uint16_t portNumber); +/** + * Reset TTL for a blockData. + * + * @param[in] blockID ID set of CABlockData. + */ +void CAResetBlockDataTTL(const CABlockDataID_t *blockID); + +/** + * Checks if the blockData is past its time to live and deletes it if timed-out. + */ +void CACheckAndDeleteTimedOutBlockData(); #ifdef __cplusplus } /* extern "C" */ #endif