from abc import ABCMeta, abstractmethod from utilities.logger import Logger import socket logger = Logger.instance() class TransportClient(metaclass=ABCMeta): """ Abstract class for client """ def __init__(self, ip, port, timeout, packet_size): self.ip = ip self.port = int(port) self.timeout = int(timeout) if timeout is not None else None self.packet_size = int(packet_size) # abstract methods @abstractmethod def _init(self): pass @abstractmethod def _send(self): pass @abstractmethod def _wait_for_response(self): pass def run_client(self):