Class ReadyToSendSectionDecorator<DECORATEE extends Section>

java.lang.Object
org.refcodes.serial.AbstractReadyToSendTransmissionDecorator<DECORATEE>
org.refcodes.serial.ReadyToSendSectionDecorator<DECORATEE>
Type Parameters:
DECORATEE - The decoratee type describing the according subclass to be enriched.
All Implemented Interfaces:
Serializable, org.refcodes.mixin.DecorateeAccessor<DECORATEE>, org.refcodes.mixin.LengthAccessor, org.refcodes.mixin.Resetable, org.refcodes.schema.Schemable, ClearToSendMagicBytesAccessor, ClearToSendSegmentPackagerAccessor, ClearToSendTimeoutMillisAccessor, DecoratorSection<DECORATEE>, EnquiryStandbyTimeMillisAccessor, ReadyToSendMagicBytesAccessor, ReadyToSendRetryNumberAccessor, ReadyToSendSegmentPackagerAccessor, ReadyToSendTimeoutMillisAccessor, ReadyToSendTransmission, Section, Transmission, Transmission.TransmissionMixin

public class ReadyToSendSectionDecorator<DECORATEE extends Section> extends AbstractReadyToSendTransmissionDecorator<DECORATEE> implements Section, DecoratorSection<DECORATEE>
The ReadyToSendSectionDecorator class implements a decorator providing ReadyToSendTransmission functionality for a Segment.
See Also:
  • Constructor Details

    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator()
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, byte[] aClearToSendMagicBytes)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, byte[] aClearToSendMagicBytes)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, long aReadyToSendTimeoutInMs, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, byte[] aReadyToSendMagicBytes, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, long aClearToSendTimeoutInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, byte[] aClearToSendMagicBytes)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, byte[] aClearToSendMagicBytes)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, int aReadyToSendRetryNumber, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, long aReadyToSendTimeoutInMs, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, byte[] aReadyToSendMagicBytes, SegmentPackager aReadyToSendSegmentPackager, byte[] aClearToSendMagicBytes, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, long aClearToSendTimeoutInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, int aReadyToSendRetryNumber, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, long aReadyToSendTimeoutInMs, long aClearToSendTimeoutInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aReadyToSendTimeoutInMs, SegmentPackager aReadyToSendSegmentPackager, long aClearToSendTimeoutInMs, SegmentPackager aClearToSendSegmentPackager)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, long aEnquiryStandbyTimeInMs)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee, TransmissionMetrics aTransmissionMetrics)
    • ReadyToSendSectionDecorator

      public ReadyToSendSectionDecorator(DECORATEE aDecoratee)
  • Method Details

    • fromTransmission

      public void fromTransmission(Sequence aSequence, int aOffset, int aLength) throws TransmissionException
      (Re-)initializes this instance with the the given Sequence data.
      Specified by:
      fromTransmission in interface Section
      Parameters:
      aSequence - The Sequence data from which to (re-)initialize this instance.
      aOffset - The offset where to start processing the provided Sequence.
      aLength - The length of data assigned by the Sequence.
      Throws:
      TransmissionException - thrown in case a given Sequence cannot be processed.
    • receiveFrom

      public void receiveFrom(InputStream aInputStream, int aLength, OutputStream aReturnStream) throws IOException
      (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 Section
      Parameters:
      aInputStream - The InputStream from which to read the instance's (re-)initialization Sequence from.
      aLength - The length of data assigned by the byte array.
      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 InputStream bytes cannot be processed.
    • builder

      public static <DECORATEE extends Section> ReadyToSendSectionDecorator.Builder<DECORATEE> builder()
      Creates builder to build ReadyToSendSectionDecorator.
      Type Parameters:
      DECORATEE - The decoratee type describing the according subclass to be enriched.
      Returns:
      created builder