PARCHashCode ccnxSimpleFileTransferChunkList_HashCode(const CCNxSimpleFileTransferChunkList *chunkList) { PARCBufferComposer *composer = parcBufferComposer_Create(); parcBufferComposer_PutUint64(composer, chunkList->chunkSize); parcBufferComposer_PutBuffer(composer, chunkList->fileName); PARCBuffer *buf = parcBufferComposer_ProduceBuffer(composer); PARCHashCode result = parcBuffer_HashCode(buf); parcBuffer_Release(&buf); parcBufferComposer_Release(&composer); return result; }
PARCHashCode ccnxNameSegment_HashCode(const CCNxNameSegment *segment) { PARCHash32Bits *hash = parcHash32Bits_Create(); parcHash32Bits_Update(hash, &segment->type, sizeof(segment->type)); if (parcBuffer_Remaining(segment->value) > 0) { parcHash32Bits_UpdateUint32(hash, parcBuffer_HashCode(segment->value)); } uint32_t result = parcHash32Bits_Hash(hash); parcHash32Bits_Release(&hash); return result; }