Module org.refcodes.serial
Package org.refcodes.serial
Class LengthSegment<REFERENCEE extends Transmission>
java.lang.Object
org.refcodes.serial.AbstractReferenceeLengthSegment<REFERENCEE>
org.refcodes.serial.LengthSegment<REFERENCEE>
- Type Parameters:
REFERENCEE- The type of theTransmissionreferencee.
- All Implemented Interfaces:
Serializable,org.refcodes.mixin.LengthAccessor,org.refcodes.mixin.ReferenceeAccessor<REFERENCEE>,org.refcodes.mixin.ReferenceeAccessor.ReferenceeMutator<REFERENCEE>,org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty<REFERENCEE>,org.refcodes.mixin.Resetable,org.refcodes.numerical.EndianessAccessor,org.refcodes.schema.Schemable,AllocLengthAccessor,LengthWidthAccessor,Segment,Transmission,Transmission.TransmissionMixin
public class LengthSegment<REFERENCEE extends Transmission>
extends AbstractReferenceeLengthSegment<REFERENCEE>
implements org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty<REFERENCEE>
An
LengthSegment enriches a Segment with an allocation
declaration computed from the referenced Transmission.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.serial.AllocLengthAccessor
AllocLengthAccessor.AllocLengthBuilder<B extends AllocLengthAccessor.AllocLengthBuilder<B>>, AllocLengthAccessor.AllocLengthMutator, AllocLengthAccessor.AllocLengthPropertyNested classes/interfaces inherited from interface org.refcodes.numerical.EndianessAccessor
org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B extends org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B>>, org.refcodes.numerical.EndianessAccessor.EndianessMutator, org.refcodes.numerical.EndianessAccessor.EndianessPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.LengthAccessor
org.refcodes.mixin.LengthAccessor.LengthBuilder<B extends org.refcodes.mixin.LengthAccessor.LengthBuilder<B>>, org.refcodes.mixin.LengthAccessor.LengthMutator, org.refcodes.mixin.LengthAccessor.LengthPropertyNested classes/interfaces inherited from interface org.refcodes.serial.LengthWidthAccessor
LengthWidthAccessor.LengthWidthBuilder<B extends LengthWidthAccessor.LengthWidthBuilder<B>>, LengthWidthAccessor.LengthWidthMutator, LengthWidthAccessor.LengthWidthPropertyNested classes/interfaces inherited from interface org.refcodes.mixin.ReferenceeAccessor
org.refcodes.mixin.ReferenceeAccessor.ReferenceeBuilder<REFERENCEE extends Object,B extends org.refcodes.mixin.ReferenceeAccessor.ReferenceeBuilder<REFERENCEE, B>>, org.refcodes.mixin.ReferenceeAccessor.ReferenceeMutator<REFERENCEE extends Object>, org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty<REFERENCEE extends Object> Nested classes/interfaces inherited from interface org.refcodes.serial.Segment
Segment.SegmentMixinNested classes/interfaces inherited from interface org.refcodes.serial.Transmission
Transmission.TransmissionMixin -
Field Summary
Fields inherited from class org.refcodes.serial.AbstractReferenceeLengthSegment
_allocLength, _endianess, _lengthWidth, _referencee, ALLOC_LENGTH, ALLOC_LENGTH_WIDTH, ENDIANESS -
Constructor Summary
ConstructorsConstructorDescriptionLengthSegment(int aLengthWidth) LengthSegment(int aLengthWidth, org.refcodes.numerical.Endianess aEndianess) LengthSegment(org.refcodes.numerical.Endianess aEndianess) LengthSegment(TransmissionMetrics aTransmissionMetrics) LengthSegment(REFERENCEE aReferencee) LengthSegment(REFERENCEE aReferencee, int aLengthWidth) LengthSegment(REFERENCEE aReferencee, int aLengthWidth, org.refcodes.numerical.Endianess aEndianess) LengthSegment(REFERENCEE aReferencee, org.refcodes.numerical.Endianess aEndianess) LengthSegment(REFERENCEE aReferencee, TransmissionMetrics aTransmissionMetrics) -
Method Summary
Modifier and TypeMethodDescriptionintfromTransmission(Sequence aSequence, int aOffset) (Re-)initializes this instance with the the givenSequencedata.voidreceiveFrom(InputStream aInputStream, OutputStream aReturnStream) (Re-)initializes this instance by receiving the accordingSequencefrom the givenInputStream.voidsetReferencee(REFERENCEE aDecoratee) Methods inherited from class org.refcodes.serial.AbstractReferenceeLengthSegment
equals, getAllocLength, getEndianess, getLength, getLengthWidth, hashCode, reset, toSchema, toSequence, toSimpleTypeMap, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty
letReferenceeMethods inherited from interface org.refcodes.serial.Segment
fromTransmission, fromTransmission, fromTransmission, receiveFrom, receiveFromMethods inherited from interface org.refcodes.serial.Transmission
transmitTo, transmitToMethods inherited from interface org.refcodes.serial.Transmission.TransmissionMixin
transmitTo
-
Constructor Details
-
LengthSegment
-
LengthSegment
public LengthSegment() -
LengthSegment
public LengthSegment(org.refcodes.numerical.Endianess aEndianess) -
LengthSegment
public LengthSegment(int aLengthWidth, org.refcodes.numerical.Endianess aEndianess) -
LengthSegment
public LengthSegment(int aLengthWidth) -
LengthSegment
-
LengthSegment
public LengthSegment(REFERENCEE aReferencee, int aLengthWidth, org.refcodes.numerical.Endianess aEndianess) -
LengthSegment
-
LengthSegment
-
LengthSegment
-
-
Method Details
-
fromTransmission
(Re-)initializes this instance with the the givenSequencedata.- Specified by:
fromTransmissionin interfaceSegment- Overrides:
fromTransmissionin classAbstractReferenceeLengthSegment<REFERENCEE extends Transmission>- Parameters:
aSequence- TheSequencedata from which to (re-)initialize this instance.aOffset- The offset where to start processing the providedSequence.- Returns:
- The index after the last offset into the given
Sequenceprocessed by this method. - Throws:
TransmissionException- thrown in case a givenSequencecannot be processed.
-
receiveFrom
(Re-)initializes this instance by receiving the accordingSequencefrom the givenInputStream. Implementations providing error correction methods use the provided feedbackOutputStreamto do some sort of "stop-and-wait ARQ" or apply similar methods to ensure correctness of the received data.- Specified by:
receiveFromin interfaceSegment- Overrides:
receiveFromin classAbstractReferenceeLengthSegment<REFERENCEE extends Transmission>- Parameters:
aInputStream- TheInputStreamfrom which to read the instance's (re-)initializationSequencefrom.aReturnStream- AnOutputStreambeing 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 theInputStreamcaused problems.TransmissionException- thrown in case a given transmission cannot be processed.
-
getReferencee
- Specified by:
getReferenceein interfaceorg.refcodes.mixin.ReferenceeAccessor<REFERENCEE extends Transmission>
-
setReferencee
- Specified by:
setReferenceein interfaceorg.refcodes.mixin.ReferenceeAccessor.ReferenceeMutator<REFERENCEE extends Transmission>
-