def setDIOtimer(self): """(Re)set the DIO timer""" try: self.DIOtimer.cancel() except: pass self.DIOtimer = trickleTimer(self.sendDIO, {}, \ Imin=0.001 * 2 ** self.DIOIntMin, \ Imax=self.DIOIntDoublings, \ k=self.DIORedundancyConst) self.DIOtimer.start()
def setDIOtimer(self): """Broadcast DIO after Trickle timer Called by: creation of the DODAG object """ try: self.DIOtimer.cancel() except: pass self.DIOtimer = trickleTimer(self.sendDIO, {}, \ Imin=0.001 * 2 ** self.DIOIntMin, \ Imax=self.DIOIntDoublings, \ k=self.DIORedundancyConst) self.DIOtimer.start()
def __init__(self, port, peers): super(Node, self).__init__() self.port = port self.peers = peers self.msg_store = {} self.acked_messages = {} self.generate_messages() # node's server part self.server_thread = Thread(target=self.server, args=(self.port, )) self.server_thread.daemon = True self.server_thread.start() self.gossip_timer = trickleTimer(self.gossip_process, \ Imin=0.1, \ Imax=16, \ k=3) self.gossip_timer.start()
from trickle import trickleTimer import time def broadcast_dio (dodags): i = 0 for d in dodags: print i, d i+=1 x = [0] DIOtimer = trickleTimer(broadcast_dio, \ {'dodags': x}, \ Imin=1, \ Imax=2, \ k=3) print "hello" DIOtimer.start() x.append(1) time.sleep(10) # delays for 5 seconds for i in range(10): x.append(i)