Looking at the Java active threads in the IRI and assuming that the network has properly distributed all new transactions through the gossip & request processes,

Does it enter a state of rest? Or does it continually recirculate old transactions and make requests for already circulated random transactions?

This answer requires code-analysis.

  • There is no such thing as "being synchronized" in an async distributed system, right? – Come-from-Beyond Dec 8 '18 at 9:44

It seems that the network does not enter a 'quiet state'. I will update this answer as I find new code sections to share.

Tip Requesting Thread

This thread makes a request to all neighbors every 5 seconds. The latest milestone is sent to all neighbors, a 1.6 KB transaction package, and the neighbors are asked to reply with a tip that they have in their request queue.

        while (!shuttingDown.get()) {
            try {
                final TransactionViewModel transactionViewModel = TransactionViewModel.fromHash(tangle, milestoneTracker.latestMilestone);
                neighbors.forEach(n -> n.send(tipRequestingPacket));
            } catch (final Exception e) {
                log.error("Tips Requester Thread Exception:", e);
        log.info("Shutting down Requester Thread");

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.