def work_with_deadlock_link(self, link):
update_infos = {}
affected_links = deque([])
if self.check_and_execute_all_updates_on_link(link, update_infos, affected_links) <= 0:
eventlet.spawn_after(constants.SUSPECTING_TIME_SKIP_DEADLOCK, self.skipping_deadlock)
# self.log.info("wait to violate congestion on link %d->%d: current_avail %f"
# % (link.src, link.dst, link.avail_cap))
# self.log.info("segments to be done: %s" % self.segments_to_be_done)
self.suspecting_deadlock_for_this_test = True
return update_infos, affected_links
elif link.scheduling_mode == constants.SPLITTING_LINK:
eventlet.spawn_after(constants.SUSPECTING_TIME, self.work_with_deadlock_link, link)
else:
self.unsuspecting_link(link)
return update_infos, affected_links
评论列表
文章目录