def _make_graph()

in gala/graph_manager.py [0:0]


    def _make_graph(self):
        phone_book = [[] for _ in range(self.world_size)]
        for rank in range(self.world_size):
            group = phone_book[rank]
            for i in range(1, self.world_size):
                f_peer = self._rotate_forward(rank, i)
                b_peer = self._rotate_backward(rank, i)
                # create directory for non-passive peers
                if not self.is_passive(rank) and (
                   self.is_passive(f_peer) and self.is_passive(b_peer)):
                    if f_peer not in group:
                        group.append(f_peer)  # forward peer...
                    if b_peer not in group:
                        group.append(b_peer)  # then backward peer
                # create directory for passive peers
                elif self.is_passive(rank) and (
                   not (self.is_passive(f_peer) or self.is_passive(b_peer))):
                    if b_peer not in group:
                        group.append(b_peer)  # backward peer...
                    if f_peer not in group:
                        group.append(f_peer)  # then forward peer
        return phone_book