def __init__(self, handler, adapter, device_id):
self.log = structlog.get_logger(device_id=device_id)
self._handler = handler
self._adapter = adapter
self._device_id = device_id
self._proxy_address = None
self._tx_tid = 1
self._deferred = None # TODO: Remove later if never used
self._enabled = False
self._requests = dict() # Tx ID -> (timestamp, deferred, tx_frame, timeout)
self._onu_messages = DeferredQueue(size=_MAX_INCOMING_OMCI_MESSAGES)
# Statistics
self._tx_frames = 0
self._rx_frames = 0
self._rx_onu_frames = 0 # Autonomously generated ONU frames
self._rx_timeouts = 0
self._tx_errors = 0 # Exceptions during tx request
self._consecutive_errors = 0 # Rx & Tx errors in a row, good rx resets this to 0
self._reply_min = sys.maxint # Fastest successful tx -> rx
self._reply_max = 0 # Longest successful tx -> rx
self._reply_sum = 0.0 # Total seconds for successful tx->rx (float for average)
评论列表
文章目录