def __init__(self, name, prefix, errorRateProvider, commandName=None, parentLogger=None, moduleName='WNS', **kw): super(ErrorRate,self).__init__(functionalUnitName = name, commandName=commandName) self.name = name self.probeName = prefix + "ErrorRate" self.errorRateProvider = errorRateProvider self.logger = Logger(moduleName, name, True, parentLogger) attrsetter(self, kw)
def __init__(self, name, prefix, commandName=None, windowSize=1.0, sampleInterval=None, parentLogger=None, moduleName='WNS', **kw): super(Window, self).__init__(name, commandName) self.logger = Logger(moduleName, name, True, parentLogger) self.windowSize = windowSize if sampleInterval == None: self.sampleInterval = self.windowSize else: self.sampleInterval = sampleInterval self.prefix = prefix assert (self.sampleInterval <= self.windowSize) self.incomingBitThroughputProbeName = self.prefix + ".window.incoming.bitThroughput" self.incomingCompoundThroughputProbeName = self.prefix + ".window.incoming.compoundThroughput" self.outgoingBitThroughputProbeName = self.prefix + ".window.outgoing.bitThroughput" self.outgoingCompoundThroughputProbeName = self.prefix + ".window.outgoing.compoundThroughput" self.aggregatedBitThroughputProbeName = self.prefix + ".window.aggregated.bitThroughput" self.aggregatedCompoundThroughputProbeName = self.prefix + ".window.aggregated.compoundThroughput" self.relativeBitsGoodputProbeName = self.prefix + ".window.relative.bitGoodput" self.relativeCompoundsGoodputProbeName = self.prefix + ".window.relative.compoundGoodput" attrsetter(self, kw)
def __init__(self, opcodeSize, **kw): super(FrameDispatcher, self).__init__() self.opcodeSize = opcodeSize self.logger = openwns.logger.Logger("WNS", "FrameDispatcher", True) self.opcodeLogger = openwns.logger.Logger("WNS", "OpcodeSetter", True, self.logger) attrsetter(self, kw)
def __init__(self, opcodeSize, parentLogger=None, logName = "Dispatcher", moduleName = "WNS", **kw): super(Dispatcher,self).__init__() assert type(opcodeSize) == type(1) self.opcodeSize = opcodeSize self.logger = openwns.logger.Logger(moduleName, logName, True, parentLogger) self.opcodeLogger = openwns.logger.Logger(moduleName, logName, True, self.logger) attrsetter(self, kw)
def __init__(self, name, prefix, commandName = None, parentLogger=None, moduleName='WNS', **kw): super(Packet,self).__init__(name, commandName) self.prefix = prefix self.incomingDelayProbeName = self.prefix + ".packet.incoming.delay" self.outgoingDelayProbeName = self.prefix + ".packet.outgoing.delay" self.incomingThroughputProbeName = self.prefix + ".packet.incoming.bitThroughput" self.outgoingSizeProbeName = self.prefix + ".packet.outgoing.size" self.incomingSizeProbeName = self.prefix + ".packet.incoming.size" self.logger = Logger(moduleName, name, True, parentLogger) attrsetter(self, kw)
def __init__(self, maxSize, maxEntries, functionalUnitName = "Concatenation", commandName = "Concatenation", parentLogger = None, logName = "Concatenation", moduleName = "WNS", **kw): super(Concatenation, self).__init__(functionalUnitName = functionalUnitName, commandName = commandName) self.maxSize = maxSize self.maxEntries = maxEntries self.logger = logger.Logger(moduleName, logName, True, parentLogger) pyconfig.attrsetter(self, kw)
def __init__(self, name, prefix, errorRateProvider, commandName=None, parentLogger=None, moduleName='WNS', **kw): super(ErrorRate, self).__init__(functionalUnitName=name, commandName=commandName) self.name = name self.probeName = prefix + "ErrorRate" self.errorRateProvider = errorRateProvider self.logger = Logger(moduleName, name, True, parentLogger) attrsetter(self, kw)
def __init__(self, opcodeSize, parentLogger=None, logName="Dispatcher", moduleName="WNS", **kw): super(Dispatcher, self).__init__() assert type(opcodeSize) == type(1) self.opcodeSize = opcodeSize self.logger = openwns.logger.Logger(moduleName, logName, True, parentLogger) self.opcodeLogger = openwns.logger.Logger(moduleName, logName, True, self.logger) attrsetter(self, kw)
def __init__(self, parentLogger = None, statusCollector=NoStatusCollection, **kw): super(SelectiveRepeat,self).__init__() self.logger = Logger('WNS', 'SR-ARQ', True, parentLogger) self.arqStatusCollector = statusCollector(self.logger) attrsetter(self, kw) if (self.commandSize == None): # reserve command space for the max length of the sequence number self.commandSize = int(math.ceil(math.log(self.sequenceNumberSize)/math.log(2))) # plus one additional bit for the command type (I or ACK) self.commandSize += 1 assert self.sequenceNumberSize >= 2*self.windowSize, """You misconfigured the sequenceNumberSize. It needs to be at least two times the windowSize""" assert pow(2,(self.commandSize-1)) >= self.sequenceNumberSize, "Misconfigured or Mis-calculated commandSize."
def __init__(self, name, prefix, commandName=None, parentLogger=None, moduleName='WNS', **kw): super(Packet, self).__init__(name, commandName) self.prefix = prefix self.incomingDelayProbeName = self.prefix + ".packet.incoming.delay" self.outgoingDelayProbeName = self.prefix + ".packet.outgoing.delay" self.incomingThroughputProbeName = self.prefix + ".packet.incoming.bitThroughput" self.outgoingSizeProbeName = self.prefix + ".packet.outgoing.size" self.incomingSizeProbeName = self.prefix + ".packet.incoming.size" self.logger = Logger(moduleName, name, True, parentLogger) attrsetter(self, kw)
def __init__(self, name, prefix, commandName=None, windowSize = 1.0, sampleInterval = None, parentLogger=None, moduleName='WNS', **kw): super(Window,self).__init__(name, commandName) self.logger = Logger(moduleName, name, True, parentLogger) self.windowSize = windowSize if sampleInterval == None: self.sampleInterval = self.windowSize else: self.sampleInterval = sampleInterval self.prefix = prefix assert(self.sampleInterval <= self.windowSize) self.incomingBitThroughputProbeName = self.prefix + ".window.incoming.bitThroughput" self.incomingCompoundThroughputProbeName = self.prefix + ".window.incoming.compoundThroughput" self.outgoingBitThroughputProbeName = self.prefix + ".window.outgoing.bitThroughput" self.outgoingCompoundThroughputProbeName = self.prefix + ".window.outgoing.compoundThroughput" self.aggregatedBitThroughputProbeName = self.prefix + ".window.aggregated.bitThroughput" self.aggregatedCompoundThroughputProbeName = self.prefix + ".window.aggregated.compoundThroughput" self.relativeBitsGoodputProbeName = self.prefix + ".window.relative.bitGoodput" self.relativeCompoundsGoodputProbeName = self.prefix + ".window.relative.compoundGoodput" attrsetter(self, kw)
def __init__(self, parentLogger = None, statusCollector=NoStatusCollection, **kw): super(GoBackN,self).__init__() self.logger = Logger('WNS', 'GBN-ARQ', True, parentLogger) self.arqStatusCollector = statusCollector(self.logger) attrsetter(self, kw)
def __init__(self, name, gateName, **kw): self.name = name self.gateName = gateName attrsetter(self, kw)
def __init__(self, opcodeSize, **kw): super(FrameDispatcher,self).__init__() self.opcodeSize = opcodeSize self.logger = openwns.logger.Logger("WNS", "FrameDispatcher", True) self.opcodeLogger = openwns.logger.Logger("WNS", "OpcodeSetter", True, self.logger) attrsetter(self, kw)
def __init__(self, parentLogger = None, statusCollector=NoStatusCollection,**kw): super(CumulativeACK,self).__init__() self.logger = Logger('WNS', 'CUM-ARQ', True, parentLogger) self.arqStatusCollector = statusCollector(self.logger) attrsetter(self, kw)
def __init__(self, **kw): attrsetter(self, kw)
def __init__(self, opcodeSize, **kw): self.opcodeSize = opcodeSize attrsetter(self, kw)
def __init__(self, **kw): pyconfig.attrsetter(self, kw)
def __init__(self, parentLogger = None, **kw): super(NoARQ,self).__init__() self.logger = Logger('WNS', 'No-ARQ', True, parentLogger) self.arqStatusCollector = NoStatusCollection(); attrsetter(self, kw)
def __init__(self, parentLogger = None, loggerEnabled=True, **kw): self.logger = Logger('WNS', 'ARQStat', loggerEnabled, parentLogger) attrsetter(self, kw)
def __init__(self, PERProvider, functionalUnitName = None, commandName = None, parentLogger = None, **kw): super(CRC,self).__init__(functionalUnitName = functionalUnitName, commandName = commandName ) self.PERProvider = PERProvider self.logger = Logger('WNS','CRC',True,parentLogger) self.localIDs = {} attrsetter(self, kw)
def __init__(self, parentLogger = None, statusCollector=NoStatusCollection, **kw): super(StopAndWaitRC,self).__init__() self.logger = Logger('WNS', 'SNW-ARQ', True, parentLogger) #self.arqStatusCollector = statusCollector(self.logger) attrsetter(self, kw)
def __init__(self, opcode, opcodeProvider, **kw): self.opcode = opcode self.opcodeProvider = opcodeProvider attrsetter(self, kw)
def __init__(self, name, arq, **kw): self.name = name self.arq = arq attrsetter(self, kw)
def __init__(self, crc, fus, parentLogger = None, **kw): super(CRCFilter,self).__init__() self.crc = crc self.fus = fus self.logger = Logger('WNS', 'CRCFilter', True, parentLogger) attrsetter(self, kw)