class BaseComponent(ABC):
def init(
self,
logger_name: str = None,
) -> str:
self._logger = logging.getLogger(logger_name)
self._producers: list[BaseComponent] = []
self._consumers: list[BaseComponent] = []
@final
def bind_producer(self, upstream) -> None:
self._producers.append(upstream)
@final
def bind_consumer(self, downstream) -> None:
self._consumers.append(downstream)
@abstractmethod
def start(self) -> None:
pass
@abstractmethod
def stop(self) -> None:
"""界面上点击停止测试时,调用此方法"""
pass
def pause(self) -> None:
"""界面上点击sleep进入休眠状态、或Cyclic模式进入Sleep阶段时,调用此方法"""
self._pause_flag = True
def resume(self) -> None:
"""界面上点击Run进入运行状态、或Cyclic模式进入Run阶段时,调用此方法"""
self._pause_flag = False
def consume(self) -> None:
pass