| Algorithm A5. Rank Attack Mitigation | |
| 1: | input: preferred_parent1 |
| 2: | input: preferred_parent2 |
| 3: | input: preferred_parent1_status |
| 4: | input: preferred_parent2_status |
| 5: | input: parent1_metric |
| 6: | input: parent2_metric |
| 7: | input: p1 |
| 8: | input: p2 |
| 9: | if preferred_parent1 == 1 || preferred_parent2 == 1 then |
| 10: | if parent1_metric < parent2_metric then |
| 11: | set p1 |
| 12: | else |
| 13: | set p2 |
| 14: | End if |
| 15: | else |
| 16: | if preferred_parent1_status != 1 && preferred_parent2_status != 1 then |
| 17: | if parent1_metric < parent2_metric then |
| 18: | set p1 |
| 19: | else |
| 20 | set p2 |
| 21 | End if |
| 22 | End if |
| 23 | End if |
| 24 | End |