def __init__(self, top_man, overlay_id, node_id, max_wrkld):
     self._current_adj_list = ConnEdgeAdjacenctList(overlay_id, node_id)
     self._pending_adj_list = None
     self._negotiated_edges = {}
     self._refresh_in_progress = 0
     self._max_concurrent_wrkload = max_wrkld
     #self._lock = threading.Lock()
     self._top = top_man
     self._net_ops = None
     self.dbg_netop_max_pri = 0
Example #2
0
 def build_adj_list(self, transition_adj_list):
     adj_list = ConnEdgeAdjacenctList(
         self.overlay_id, self._node_id,
         dict(MaxSuccessors=self._max_successors,
              MaxLongDistEdges=self._max_ldl_cnt))
     self._build_enforced(adj_list)
     if not self._manual_topo:
         self._build_successors(adj_list)
         self._build_long_dist_links(adj_list, transition_adj_list)
     adj_list.validate()
     return adj_list
Example #3
0
 def build_adj_list(self, ):
     """
     Generates a new adjacency list from the list of available peers
     """
     adj_list = ConnEdgeAdjacenctList(self.overlay_id, self._node_id)
     for peer_id in self._peers:
         if self._enforced and peer_id in self._enforced:
             ce = ConnectionEdge(peer_id)
             ce.type = "CETypeEnforced"
             adj_list.conn_edges[peer_id] = ce
         elif not self._manual_topo and self._node_id < peer_id:
             ce = ConnectionEdge(peer_id)
             ce.type = "CETypeSuccessor"
             adj_list.conn_edges[peer_id] = ce
     return adj_list
Example #4
0
 def build_adj_list_ata(self, ):
     """
     Generates a new adjacency list from the list of available peers
     """
     adj_list = ConnEdgeAdjacenctList(self.overlay_id, self._node_id,
                                      self._max_successors,
                                      self._max_ldl_cnt, self._max_ond)
     for peer_id in self._peers:
         if self._enforced_edges and peer_id in self._enforced_edges:
             ce = ConnectionEdge(peer_id)
             ce.edge_type = "CETypeEnforced"
             adj_list.add_conn_edge(ce)
         elif not self._manual_topo and self._node_id < peer_id:
             ce = ConnectionEdge(peer_id)
             ce.edge_type = "CETypeSuccessor"
             adj_list.add_conn_edge(ce)
     return adj_list
Example #5
0
 def build_adj_list(self,
                    peers,
                    transition_adj_list,
                    request_list=None,
                    relink=False):
     self._relink = relink
     self._prep(peers)
     if request_list is None:
         request_list = []
     adj_list = ConnEdgeAdjacenctList(self.overlay_id, self._node_id,
                                      self._max_successors,
                                      self._max_ldl_cnt, self._max_ond)
     self._build_enforced(adj_list)
     if not self._manual_topo:
         self._build_successors(adj_list, transition_adj_list)
         self._build_long_dist_links(adj_list, transition_adj_list)
         self._build_ondemand_links(adj_list, transition_adj_list,
                                    request_list)
     for _, ce in adj_list.conn_edges.items():
         assert ce.edge_state == "CEStateInitialized", "Invalid CE edge state, CE={}".format(
             ce)
     return adj_list
Example #6
0
 def __init__(self, top_man, overlay_id, node_id):
     self._current_edges = ConnEdgeAdjacenctList(overlay_id, node_id)
     self._refresh_in_progress = 0
     self._pending_edges = None
     self._lock = threading.Lock()
     self._top = top_man