uds.transport_interface.abstract_transport_interface ==================================================== .. py:module:: uds.transport_interface.abstract_transport_interface .. autoapi-nested-parse:: Abstract definition of UDS Transport Interface. Classes ------- .. autoapisummary:: uds.transport_interface.abstract_transport_interface.AbstractTransportInterface Module Contents --------------- .. py:class:: AbstractTransportInterface(bus_manager) Bases: :py:obj:`abc.ABC` .. autoapi-inheritance-diagram:: uds.transport_interface.abstract_transport_interface.AbstractTransportInterface :parts: 1 :private-bases: Abstract definition of Transport Interface. Transport Interfaces are meant to handle middle layers (Transport and Network) of UDS OSI Model. Create Transport Interface (an object for handling UDS Transport and Network layers). :param bus_manager: An object that handles the bus (Physical and Data layers of OSI Model). :raise ValueError: Provided value of bus manager is not supported by this Transport Interface. .. py:attribute:: __bus_manager .. py:property:: bus_manager :type: Any Value of the bus manager used by this Transport Interface. Bus manager handles Physical and Data layers (OSI Model) of the bus. .. py:property:: segmenter :type: uds.segmentation.AbstractSegmenter :abstractmethod: Value of the segmenter used by this Transport Interface. .. warning:: Do not change any segmenter attributes as it might cause malfunction of the entire Transport Interface. .. py:method:: is_supported_bus_manager(bus_manager) :staticmethod: :abstractmethod: Check whether provided value is a bus manager that is supported by this Transport Interface. :param bus_manager: Value to check. :return: True if provided bus object is compatible with this Transport Interface, False otherwise. .. py:method:: send_packet(packet) :abstractmethod: Transmit UDS packet. :param packet: A packet to send. :return: Record with historic information about transmitted UDS packet. .. py:method:: async_send_packet(packet, loop = None) :abstractmethod: :async: Transmit asynchronously UDS packet. :param packet: A packet to send. :param loop: An asyncio event loop to use for scheduling this task. :return: Record with historic information about transmitted UDS packet. .. py:method:: receive_packet(timeout = None) :abstractmethod: Receive UDS packet. :param timeout: Maximal time (in milliseconds) to wait. :raise TimeoutError: Timeout was reached. :return: Record with historic information about received UDS packet. .. py:method:: async_receive_packet(timeout = None, loop = None) :abstractmethod: :async: Receive asynchronously UDS packet. :param timeout: Maximal time (in milliseconds) to wait. :param loop: An asyncio event loop to use for scheduling this task. :raise TimeoutError: Timeout was reached. :raise asyncio.TimeoutError: Timeout was reached. :return: Record with historic information about received UDS packet. .. py:method:: send_message(message) :abstractmethod: Transmit UDS message. :param message: A message to send. :return: Record with historic information about transmitted UDS message. .. py:method:: async_send_message(message, loop = None) :abstractmethod: :async: Transmit asynchronously UDS message. :param message: A message to send. :param loop: An asyncio event loop to use for scheduling this task. :return: Record with historic information about transmitted UDS message. .. py:method:: receive_message(timeout = None) :abstractmethod: Receive UDS message. :param timeout: Maximal time (in milliseconds) to wait. :raise TimeoutError: Timeout was reached. :return: Record with historic information about received UDS message. .. py:method:: async_receive_message(timeout = None, loop = None) :abstractmethod: :async: Receive asynchronously UDS message. :param timeout: Maximal time (in milliseconds) to wait. :param loop: An asyncio event loop to use for scheduling this task. :return: Record with historic information about received UDS message.