105 lines
2.5 KiB
Python
105 lines
2.5 KiB
Python
from abc import ABC, abstractmethod
|
|
|
|
|
|
class AsyncIfc(ABC):
|
|
@abstractmethod
|
|
def get_conn_no(self):
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def set_node_id(self, value: str):
|
|
pass # pragma: no cover
|
|
|
|
#
|
|
# TX - QUEUE
|
|
#
|
|
@abstractmethod
|
|
def tx_add(self, data: bytearray):
|
|
''' add data to transmit queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def tx_flush(self):
|
|
''' send transmit queue and clears it'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def tx_peek(self, size: int = None) -> bytearray:
|
|
'''returns size numbers of byte without removing them'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def tx_log(self, level, info):
|
|
''' log the transmit queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def tx_clear(self):
|
|
''' clear transmit queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def tx_len(self):
|
|
''' get numner of bytes in the transmit queue'''
|
|
pass # pragma: no cover
|
|
|
|
#
|
|
# FORWARD - QUEUE
|
|
#
|
|
@abstractmethod
|
|
def fwd_add(self, data: bytearray):
|
|
''' add data to forward queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def fwd_log(self, level, info):
|
|
''' log the forward queue'''
|
|
pass # pragma: no cover
|
|
|
|
#
|
|
# RX - QUEUE
|
|
#
|
|
@abstractmethod
|
|
def rx_get(self, size: int = None) -> bytearray:
|
|
'''removes size numbers of bytes and return them'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def rx_peek(self, size: int = None) -> bytearray:
|
|
'''returns size numbers of byte without removing them'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def rx_log(self, level, info):
|
|
''' logs the receive queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def rx_clear(self):
|
|
''' clear receive queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def rx_len(self):
|
|
''' get numner of bytes in the receive queue'''
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def rx_set_cb(self, callback):
|
|
pass # pragma: no cover
|
|
|
|
#
|
|
# Protocol Callbacks
|
|
#
|
|
@abstractmethod
|
|
def prot_set_timeout_cb(self, callback):
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def prot_set_init_new_client_conn_cb(self, callback):
|
|
pass # pragma: no cover
|
|
|
|
@abstractmethod
|
|
def prot_set_update_header_cb(self, callback):
|
|
pass # pragma: no cover
|