Source code for simulator.ducts.inducts.DtnInductBasic

from simulator.ducts.DtnAbstractDuct import DtnAbstractDuct

[docs]class DtnInductBasic(DtnAbstractDuct): duct_type = 'induct' def __init__(self, env, name, parent, neighbor): super(DtnInductBasic, self).__init__(env, name, parent, neighbor) def initialize(self, peer, radio='', **kwargs): # Call the parent initializer super(DtnInductBasic, self).initialize(peer) # Find the data rate of the radio. This is just boilerplate at in this # duct since the radio object does not do anything. But in more complex # ducts, the radio object is used extensively. self.datarate = self.parent.available_radios[radio].datarate @property def total_datarate(self): return self.datarate @property def radios(self): return {}
[docs] def radio_error(self, message): pass
def run(self): while self.is_alive: # Wait until there is something to transmit bundle = yield from self.in_queue.get() # Deliver to DTN node for routers self.parent.forward(bundle) def __str__(self): return "<BasicInduct {}-{}>".format(self.parent.nid, self.neighbor) def __repr__(self): return str(self)