Repository URL to install this package:
|
Version:
0.6.14 ▾
|
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";let logger;logger=require("../logger").getLogger("announceCycle/announced",newLogger=>{logger=newLogger});const MAX_RETRIES=60,agentConnection=require("../agentConnection");function checkWhetherAgentIsReadyToAccept(totalNumberOfAttempts,ctx){agentConnection.checkWhetherAgentIsReadyToAcceptData(ready=>{ready?(logger.info("Agent is ready to accept."),ctx.transitionTo("agentready")):totalNumberOfAttempts>MAX_RETRIES?(logger.warn("Agent is not ready to accept data after %s attempts. Restarting announce cycle.",totalNumberOfAttempts),ctx.transitionTo("unannounced")):setTimeout(checkWhetherAgentIsReadyToAccept,1e3,totalNumberOfAttempts+1,ctx).unref()})}module.exports={enter:function(ctx){checkWhetherAgentIsReadyToAccept(0,ctx)},leave:function(){}};