Source code for spinnman.messages.scp.abstract_messages.abstract_scp_response

from abc import ABCMeta
from abc import abstractmethod
from six import add_metaclass
from spinnman.messages.sdp.sdp_header import SDPHeader
from spinnman.messages.scp.scp_response_header import SCPResponseHeader


@add_metaclass(ABCMeta)
[docs]class AbstractSCPResponse(object): """ Represents an abstract SCP Response """ def __init__(self): """ """ self._sdp_header = SDPHeader() self._scp_response_header = SCPResponseHeader() @abstractmethod
[docs] def read_scp_response(self, byte_reader): """ Read the scp response from the given reader :param byte_reader: The reader to read from :type byte_reader:\ :py:class:`spinnman.data.abstract_byte_reader.AbstractByteReader` :return: Nothing is returned :rtype: None :raise spinnman.exceptions.SpinnmanIOException: If there is an error\ reading from the reader :raise spinnman.exceptions.SpinnmanInvalidPacketException: If there\ are not enough bytes to read the header :raise spinnman.exceptions.SpinnmanInvalidParameterException: If there\ is an error setting any of the values :raise spinnman.exceptions.SpinnmanUnexpectedResponseCodeException: If\ the response code indicates an error """ self._sdp_header.read_sdp_header(byte_reader) self._scp_response_header.read_scp_response_header(byte_reader)
@property def sdp_header(self): """ The SDP header from the response :return: The SDP header :rtype: :py:class:`spinnman.messages.sdp.sdp_header.SDPHeader` :raise None: No known exceptions are raised """ return self._sdp_header @property def scp_response_header(self): """ The SCP header from the response :return: The SCP header :rtype: :py:class:`spinnman.messages.scp.scp_response_header.SCPResponseHeader` :raise None: No known exceptions are raised """ return self._scp_response_header