Beispiel #1
0
 def __init__(self, container, max_routers):
     self.container = container
     self.my_id = container.id
     self.max_routers = max_routers
     self.link_state = LinkState(None, self.my_id, 0, [])
     self.link_state_changed = False
     self.recompute_topology = False
     self.last_topology_change = 0
     self.flux_mode = False
     self.nodes = {}  # id => RouterNode
     self.nodes_by_link_id = {}  # link-id => node-id
     self.maskbits = []
     self.next_maskbit = 1  # Reserve bit '0' to represent this router
     for i in range(max_routers):
         self.maskbits.append(None)
     self.maskbits[0] = True
     self.neighbor_max_age = self.container.config.helloMaxAge
     self.ls_max_age = self.container.config.remoteLsMaxAge
     self.flux_interval = self.container.config.raIntervalFlux * 2
     self.container.router_adapter.get_agent().add_implementation(
         self, "router.node")
Beispiel #2
0
 def __init__(self, parent, node_id, instance):
     self.parent = parent
     self.adapter = parent.container.router_adapter
     self.log = parent.container.log
     self.id = node_id
     self.instance = instance
     self.maskbit = self.parent._allocate_maskbit()
     self.neighbor_refresh_time = 0.0
     self.peer_link_id = None
     self.link_state = LinkState(None, self.id, 0, [])
     self.next_hop_router = None
     self.valid_origins = None
     self.mobile_addresses = []
     self.mobile_address_sequence = 0
     self.need_ls_request = True
     self.need_mobile_request = False
     self.keep_alive_count = 0
     self.adapter.add_router("amqp:/_topo/0/%s/qdrouter" % self.id,
                             self.maskbit)
     self.log(LOG_TRACE,
              "Node %s created: maskbit=%d" % (self.id, self.maskbit))
     self.adapter.get_agent().add_implementation(self, "router.node")