Class StopAndWaitPacketOutputStream

    • Constructor Detail

      • StopAndWaitPacketOutputStream

        public StopAndWaitPacketOutputStream​(OutputStream aOutputStream,
                                             int aBlockSize,
                                             int aPacketLengthWidth,
                                             byte[] aPacketMagicBytes,
                                             int aSequenceNumberInitValue,
                                             int aSequenceNumberWidth,
                                             org.refcodes.mixin.ConcatenateMode aSequenceNumberConcatenateMode,
                                             SegmentPackager aPacketSegmentPackager,
                                             InputStream aReturnStream,
                                             byte[] aAcknowledgeMagicBytes,
                                             int aAckRetryNumber,
                                             long aAckTimeoutInMs,
                                             SegmentPackager aAckSegmentPackager,
                                             org.refcodes.numerical.Endianess aEndianess)
        Constructs an according StopAndWaitPacketOutputStream instance wrapping the given OutputStream.
        Parameters:
        aOutputStream - The OutputStream to be wrapped.
        aBlockSize - The block size of a data block for each packet.
        aPacketLengthWidth - The width (bytes) for the number of bytes to be truncated from the last block.
        aPacketMagicBytes - The magic bytes identifying a packet and distinguishing a packet from a last package.
        aSequenceNumberInitValue - The initial sequence number from where to start counting the blocks.
        aSequenceNumberWidth - The width (in bytes) to be used for sequence number values.
        aSequenceNumberConcatenateMode - The mode of concatenation to use when creating a Sequence from this Transmission and the decorated Transmission.
        aPacketSegmentPackager - An (optional) SegmentPackager used to modify a packet's data e.g. with a CRC checksum.
        aReturnStream - The InputStream for establishing a return channel (handshake with the communication partner).
        aAcknowledgeMagicBytes - The ACK character(s) to be used by the return channel to transmit an ACK (acknowledge) response after successful receiving a transmission.
        aAckRetryNumber - The number of retries waiting for an ACK from the return channel.
        aAckTimeoutInMs - The timeout in milliseconds to pend till the next retry.
        aAckSegmentPackager - An (optional) SegmentPackager used to modify a ACK response data e.g. with a CRC checksum.
        aEndianess - The Endianess to use for integer (double) numbers and the like.