LONGBOW_TEST_CASE(Global, metisMessage_HasInterestLifetime) { PARCEventBuffer *buff = parcEventBuffer_Create(); parcEventBuffer_Append(buff, metisTestDataV1_Interest_AllFields, sizeof(metisTestDataV1_Interest_AllFields)); PARCLogReporter *reporter = parcLogReporterTextStdout_Create(); MetisLogger *logger = metisLogger_Create(reporter, parcClock_Wallclock()); parcLogReporter_Release(&reporter); MetisMessage *message = metisMessage_CreateFromBuffer(1, 2, buff, logger); metisLogger_Release(&logger); assertTrue(metisMessage_HasInterestLifetime(message), "Should have returned true for interest lifetime"); metisMessage_Release(&message); }
static MetisTicks _metisPIT_CalculateLifetime(MetisStandardPIT *pit, MetisMessage *interestMessage) { // Should use the lifetime from the interest (case 694) uint64_t interestLifetimeTicks = 0; if (metisMessage_HasInterestLifetime(interestMessage)) { interestLifetimeTicks = metisMessage_GetInterestLifetimeTicks(interestMessage); } else { interestLifetimeTicks = metisForwarder_NanosToTicks(4000000000ULL); } MetisTicks expiryTime = metisForwarder_GetTicks(pit->metis) + interestLifetimeTicks; return expiryTime; }