static void checkLinkage(void* vTwoNodes) { struct TwoNodes* ctx = Identity_check((struct TwoNodes*) vTwoNodes); if (!ctx->beaconsSent) { if (Pathfinder_getNodeStore(ctx->nodeA->pathfinder) && Pathfinder_getNodeStore(ctx->nodeB->pathfinder)) { Log_debug(ctx->logger, "Linking A and B"); TestFramework_linkNodes(ctx->nodeB, ctx->nodeA, true); ctx->beaconsSent = true; } return; } if (Pathfinder_getNodeStore(ctx->nodeA->pathfinder)->nodeCount < 1) { notLinkedYet(ctx); return; } Log_debug(ctx->logger, "A seems to be linked with B"); if (Pathfinder_getNodeStore(ctx->nodeB->pathfinder)->nodeCount < 1) { notLinkedYet(ctx); return; } Log_debug(ctx->logger, "B seems to be linked with A"); Log_debug(ctx->logger, "\n\nSetup Complete\n\n"); Timeout_clearTimeout(ctx->checkLinkageTimeout); ctx->runTest(ctx); }
static uint8_t receiveMessage(struct Message* message, struct Interface* iface) { struct Context* ctx = iface->receiverContext; ctx->message = Message_clone(message, ctx->alloc); Timeout_clearTimeout(ctx->timeout); event_base_loopbreak(ctx->eventBase); return 0; }