Skip to content
This repository was archived by the owner on Jun 27, 2018. It is now read-only.

Commit 027dd50

Browse files
author
Joshua Reich
committed
simplified prioritize signature and code
1 parent 3b60f9e commit 027dd50

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

pyretic/core/runtime.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ def portize(classifier,switch_to_attrs):
566566
specialized_rules.append(rule)
567567
return Classifier(specialized_rules)
568568

569-
def prioritize(classifier,switches):
569+
def prioritize(classifier):
570570
"""
571571
Add priorities to classifier rules based on their ordering.
572572
@@ -576,13 +576,14 @@ def prioritize(classifier,switches):
576576
:rtype: Classifier
577577
"""
578578
priority = {}
579-
for s in switches:
580-
priority[s] = 60000
581579
tuple_rules = list()
582580
for rule in classifier.rules:
583581
s = rule.match['switch']
582+
try:
583+
priority[s] -= 1
584+
except KeyError:
585+
priority[s] = 60000
584586
tuple_rules.append((rule.match,priority[s],rule.actions))
585-
priority[s] -= 1
586587
return tuple_rules
587588

588589
### UPDATE LOGIC
@@ -601,7 +602,7 @@ def nuclear_install(classifier):
601602
classifier = switchify(classifier,switches)
602603
classifier = concretize(classifier)
603604
classifier = portize(classifier,switch_to_attrs)
604-
new_rules = prioritize(classifier,switches)
605+
new_rules = prioritize(classifier)
605606

606607
for s in switches:
607608
self.send_barrier(s)
@@ -643,7 +644,7 @@ def install_diff_rules(classifier):
643644
classifier = switchify(classifier,switches)
644645
classifier = concretize(classifier)
645646
classifier = portize(classifier,switch_to_attrs)
646-
new_rules = prioritize(classifier,switches)
647+
new_rules = prioritize(classifier)
647648

648649
# calculate diff
649650
to_add = list()

0 commit comments

Comments
 (0)