def __init__(self, radar, maproute): self.radar = radar self.neigh = radar.neigh self.maproute = maproute self.service = {} self.remotable_funcs = [self.pid_getall] self.events = Event(['P2P_HOOKED'])
def __init__(self, radar, maproute): self.radar = radar self.neigh = radar.neigh self.maproute = maproute self.neigh.events.listen('NEIGH_NEW', self.etp_new_changed) self.neigh.events.listen('NEIGH_REM_CHGED', self.etp_new_changed) self.neigh.events.listen('NEIGH_DELETED', self.etp_new_dead) self.events = Event(['ETP_EXECUTED', 'NET_COLLISION']) self.remotable_funcs = [self.etp_exec]
def __init__(self, radar, maproute, etp, coordnode, nics): self.radar = radar self.neigh = radar.neigh self.maproute = maproute self.etp = etp self.coordnode= coordnode self.nics = nics self.events = Event(['HOOKED']) etp.events.listen('ETP_EXECUTED', self.communicating_vessels) etp.events.listen('NET_COLLISION', self.hook) self.remotable_funcs = [self.communicating_vessels, self.highest_free_nodes]
def __init__(self, neigh, maproute): self.maproute = maproute self.neigh = neigh self.multipath = settings.MULTIPATH self.events = Event(['KRNL_NEIGH_NEW']) self.route_new = apply_wakeup_on_event(self.route_new, events=[(self.neigh.events, 'NEIGH_NEW'), (self.events, 'KRNL_NEIGH_NEW')]) self.maproute.events.listen('ROUTE_NEW', self.route_new) self.maproute.events.listen('ROUTE_DELETED', self.route_deleted) self.maproute.events.listen('ROUTE_REM_CHGED', self.route_rem_changed) self.neigh.events.listen('NEIGH_NEW', self.neigh_new) self.neigh.events.listen('NEIGH_DELETED', self.neigh_deleted) self.neigh.events.listen('NEIGH_REM_CHGED', self.neigh_rem_changed)
def __init__(self, max_neigh=settings.MAX_NEIGH, xtimemod=xtime): """ max_neigh: maximum number of neighbours we can have """ self.max_neigh = max_neigh # variation on neighbours' rtt greater than this will be notified self.rtt_variation_threshold = 0.1 # ip_table self.ip_table = {} # Remote client instances table self.ntk_client = {} # ip : rpc.TCPClient(ipstr) # IP => ID translation table self.translation_table = {} # IP => netid self.netid_table = {} # the events we raise self.events = Event(['NEIGH_NEW', 'NEIGH_DELETED', 'NEIGH_REM_CHGED']) # time module self.xtime = xtimemod self.remotable_funcs = [self.ip_change]
def __init__(self, levels, gsize, dataclass, me=None): """Initialise the map If me = None, then self.me is set to a random nip (ntk ip) """ self.levels = levels # Number of levels self.gsize = gsize # How many nodes are contained in a gnode self.dataclass = dataclass self.me = me # Ourself. self.me[lvl] is the ID of our # (g)node of level lvl # Choose a random nip if me is None: self.me = self.nip_rand() # The member self.node[l][i] is a node of level l and its ID is i self.node = [[None] * self.gsize for i in xrange(self.levels)] # Number of nodes of each level, that is: # self.node_nb[i] = number of (g)nodes inside the gnode self.me[i+1] self.node_nb = [0] * self.levels self.events = Event(['NODE_NEW', 'NODE_DELETED', 'ME_CHANGED'])
def __init__(self, broadcast, xtime): """ broadcast: an instance of the RPCBroadcast class to manage broadcast sending xtime: a wrap.xtime module """ self.xtime = xtime self.broadcast = broadcast # how many bouquet we have already sent self.bouquet_numb = 0 # when we sent the broadcast packets self.bcast_send_time = 0 # when the replies arrived self.bcast_arrival_time = {} # max_bouquet: how many packets does each bouquet contain? self.max_bouquet = settings.MAX_BOUQUET # max_wait_time: the maximum time we can wait for a reply, in seconds self.max_wait_time = settings.MAX_WAIT_TIME # max_neigh: maximum number of neighbours we can have self.max_neigh = settings.MAX_NEIGH # our neighbours self.neigh = Neighbour(self.max_neigh, self.xtime) # Send a SCAN_DONE event each time a sent bouquet has been completely # collected self.events = Event(['SCAN_DONE']) # Our netid. It's a random id used to detect network collisions. self.netid = -1 # If set to True, this module will reply to radar queries sent by our # neighbours. self.do_reply = False self.remotable_funcs = [self.reply, self.time_register] self.ntkd_id = randint(0, 2**32 - 1)
def setUp(self): self.events = Event(['A', 'B'])