code: def requestOrdered(self, reqIdrs: List[str], instId: int,
                         requests, byMaster: bool = False) -> Dict:
          
          now = time.perf_counter()
          if self.acc_monitor:
              self.acc_monitor.update_time(now)
          durations = {}
          for key in reqIdrs:
              if key not in self.requestTracker:
                  logger.debug("Got untracked ordered request with digest {}".
                               format(key))
                  continue
              if self.acc_monitor:
                  self.acc_monitor.request_ordered(key, instId)
              if key in self.requestTracker.handled_unordered():
                  started = self.requestTracker.started(key)
                  logger.info('Consensus for ReqId: {} was achieved by {}:{} in {} seconds.'
                              .format(key, self.name, instId, now - started))
              duration = self.requestTracker.order(instId, key, now)
              self.throughputs[instId].add_request(now)
  
              if key in requests:
                  identifier = requests[key].request.identifier
                  self.clientAvgReqLatencies[instId].add_duration(identifier, duration)
  
              durations[key] = duration
  
          reqs, tm = self.numOrderedRequests[instId]
          orderedNow = len(durations)
          self.numOrderedRequests[instId] = (reqs + orderedNow,
                                             tm + sum(durations.values()))
  
          # TODO: Inefficient, as on every request a minimum of a large list is
          # calculated
          if min(r[0] for r in self.numOrderedRequests.values()) == (reqs + orderedNow):
              # If these requests is ordered by the last instance then increment
              # total requests, but why is this important, why cant is ordering
              # by master not enough?
              self.totalRequests += orderedNow
              self.postOnReqOrdered()
              if 0 == reqs:
                  self.postOnNodeStarted(self.started)
  
          return durations
docs: Measure the time taken for ordering of a request and return it. Monitor
          might have been reset due to view change due to which this method
          returns None