simple_collector.py 681 B

1234567891011121314151617181920
  1. from pypdevs.DEVS import AtomicDEVS
  2. from loguru import logger
  3. class SimpleCollector(AtomicDEVS):
  4. """A simple collector which holds every received item in a list in its state"""
  5. def __init__(self, name):
  6. super(SimpleCollector, self).__init__(name)
  7. self.inp = self.addInPort("inp")
  8. # keep track of nr of customers obtained
  9. self.state = {
  10. "items": []
  11. }
  12. def extTransition(self, inputs):
  13. if self.inp in inputs:
  14. new_item = inputs[self.inp]
  15. self.state["items"].append(new_item)
  16. logger.trace(f"{type(self).__name__} '{self.name}' received: {new_item}")
  17. return self.state