12345678910111213141516171819202122232425262728293031 |
- from .chs_type_spec import type_spec_chs
- import logging
- logger = logging.getLogger('speedctl')
- class chs_manager(object):
- def __init__(self):
- self.channels = {}
- pass
- def add(self,name, card_type, spec, data,end_pos):
- key_gen = lambda card_type,spec: f'{card_type}-{spec}'
- key = key_gen(card_type,spec)
- if key in self.channels:
- subch = self.channels[key]
- else:
- subch = type_spec_chs(card_type, spec)
- self.channels[key] = subch
- subch.add(name, data, end_pos)
- def optimize(self):
- for key,item in self.channels.items():
- item.optimize()
- def speed(self):
- total = 0
- for key,item in self.channels.items():
- total += item.cur_speed()
- logger.debug(f'total = {total}')
- return total
- pass
|