Class AcknowledgeSegment

    • Field Detail

      • _delegatee

        protected Segment _delegatee
    • Method Detail

      • getLength

        public int getLength()
        Determines the overall length of this Transmission. In case of nested Transmission instances, all length values from all sub-segments are accumulated to the result as well.
        Specified by:
        getLength in interface org.refcodes.mixin.LengthAccessor
        Specified by:
        getLength in interface Transmission
        Returns:
        The (overall) length of the Transmission (including any sub-segments).
      • toSimpleTypeMap

        public org.refcodes.struct.SimpleTypeMap toSimpleTypeMap()
        Returns the SimpleTypeMap representation of this Transmission. In case this Transmission has Transmission children, then the children are queried as well and contained in the resulting SimpleTypeMap. The aliases of the according Transmission instances represent the resulting path to a Transmission's final simple type.
        Specified by:
        toSimpleTypeMap in interface Transmission
        Returns:
        The SimpleTypeMap representing this Transmission and (if any) its children, with the according aliases forming the paths to the Transmission's values.
      • transmitTo

        public void transmitTo​(OutputStream aOutputStream,
                               InputStream aReturnStream)
                        throws IOException
        Transmits the Sequence representing the implementing type's instance to the given OutputStream. Implementations providing error correction methods use the provided feedback InputStream to do some sort of "stop-and-wait ARQ" or apply similar methods to ensure correctness of the transmitted data.
        Specified by:
        transmitTo in interface Transmission
        Specified by:
        transmitTo in interface Transmission.TransmissionMixin
        Parameters:
        aOutputStream - The OutputStream where to write this instance's Sequence to.
        aReturnStream - An InputStream being the return channel to handle "stop-and-wait ARQ" or the like in case of a bidirectional connection. Can be null in case we have a unidirectional connection.
        Throws:
        IOException - thrown in case writing data to the OutputStream caused problems.
      • fromTransmission

        public int fromTransmission​(Sequence aSequence,
                                    int aOffset)
                             throws TransmissionException
        (Re-)initializes this instance with the the given Sequence data.
        Specified by:
        fromTransmission in interface Segment
        Parameters:
        aSequence - The Sequence data from which to (re-)initialize this instance.
        aOffset - The offset where to start processing the provided Sequence.
        Returns:
        The index after the last offset into the given Sequence processed by this method.
        Throws:
        TransmissionException - thrown in case a given Sequence cannot be processed.
      • receiveFrom

        public void receiveFrom​(InputStream aInputStream,
                                OutputStream aReturnStream)
                         throws IOException,
                                TransmissionException
        (Re-)initializes this instance by receiving the according Sequence from the given InputStream. Implementations providing error correction methods use the provided feedback OutputStream to do some sort of "stop-and-wait ARQ" or apply similar methods to ensure correctness of the received data.
        Specified by:
        receiveFrom in interface Segment
        Parameters:
        aInputStream - The InputStream from which to read the instance's (re-)initialization Sequence from.
        aReturnStream - An OutputStream being the return channel to handle "stop-and-wait ARQ" or the like in case of a bidirectional connection. Can be null in case we have a unidirectional connection.
        Throws:
        IOException - thrown in case reading data from the InputStream caused problems.
        TransmissionException - thrown in case a given transmission cannot be processed.
      • getSequenceNumber

        public int getSequenceNumber()
        Retrieves the sequence number from the sequence number property.
        Specified by:
        getSequenceNumber in interface SequenceNumberAccessor
        Returns:
        The sequence number stored by the sequence number property.
      • getMagicBytes

        public byte[] getMagicBytes()
        Specified by:
        getMagicBytes in interface org.refcodes.mixin.MagicBytesAccessor
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object