コード例 #1
0
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;
}
コード例 #2
0
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;
}