def executeWhenResponseRcvd(self, startTime, maxCheckForMillis, loop, reqId, respType, checkIfLinkExists, clbk, *args): if isMaxCheckTimeExpired(startTime, maxCheckForMillis): clbk( None, "No response received within specified time ({} mills). " "Retry the command and see if that works.\n".format( maxCheckForMillis)) else: found = False rcvdResponses = self.rcvdMsgStore.get(reqId) if rcvdResponses: for msg in rcvdResponses: body, frm = msg if body.get(TYPE) == respType: if checkIfLinkExists: identifier = body.get(IDENTIFIER) li = self._getLinkByTarget( getCryptonym(identifier)) linkCheckOk = li is not None else: linkCheckOk = True if linkCheckOk: found = True break if found: clbk(*args) else: loop.call_later(.2, self.executeWhenResponseRcvd, startTime, maxCheckForMillis, loop, reqId, respType, checkIfLinkExists, clbk, *args)
def executeWhenResponseRcvd(self, startTime, maxCheckForMillis, loop, reqId, respType, checkIfLinkExists, clbk, *args): if isMaxCheckTimeExpired(startTime, maxCheckForMillis): clbk( None, "No response received within specified time ({} mills). " "Retry the command and see if that works.\n". format(maxCheckForMillis)) else: found = False rcvdResponses = self.rcvdMsgStore.get(reqId) if rcvdResponses: for msg in rcvdResponses: body, frm = msg if body.get(TYPE) == respType: if checkIfLinkExists: identifier = body.get(IDENTIFIER) li = self._getLinkByTarget( getCryptonym(identifier)) linkCheckOk = li is not None else: linkCheckOk = True if linkCheckOk: found = True break if found: clbk(*args) else: loop.call_later(.2, self.executeWhenResponseRcvd, startTime, maxCheckForMillis, loop, reqId, respType, checkIfLinkExists, clbk, *args)