code: def _process_backlogged_hosting_devices(self, context):
          
          driver_mgr = self.get_routing_service_helper().driver_manager
          res = self._dev_status.check_backlogged_hosting_devices(driver_mgr)
          if res['reachable']:
              self.process_services(device_ids=res['reachable'])
          if res['revived']:
              LOG.debug("Reporting revived hosting devices: %s " %
                        res['revived'])
              # trigger a sync only on the revived hosting-devices
              if self.conf.cfg_agent.enable_heartbeat is True:
                  self.devmgr_rpc.report_revived_hosting_devices(
                      context, hd_ids=res['revived'])
                  self.process_services(device_ids=res['revived'])
          if res['dead']:
              LOG.debug("Reporting dead hosting devices: %s", res['dead'])
              self.devmgr_rpc.report_dead_hosting_devices(context,
                                                          hd_ids=res['dead'])
docs: Process currently backlogged devices.
  
          Go through the currently backlogged devices and process them.
          For devices which are now reachable (compared to last time), we call
          `process_services()` passing the now reachable device's id.
          For devices which have passed the `hosting_device_dead_timeout` and
          hence presumed dead, execute a RPC to the plugin informing that.
  
          heartbeat revision
          res['reachable'] - hosting device went from Unknown to Active state
                             process_services(...)
          res['revived']   - hosting device went from Dead to Active
                             inform device manager that the hosting
                             device is now responsive
          res['dead']      - hosting device went from Unknown to Dead
                             inform device manager that the hosting
                             device is non-responding
  
          As additional note for the revived case:
              Although the plugin was notified, there may be some lag
              before the plugin actually can reschedule it's backlogged routers.
  
              If process_services(device_ids...) isn't successful initially,
              subsequent device syncs will be attempted until
              MAX_DEVICE_SYNC_ATTEMPTS occurs.  Main process_service task
              will resume if sync_devices is populated.
  
          :param context: RPC context
          :return: None