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")
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")