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.numerical.EndianessAccessor,AllocLengthAccessor,LengthWidthAccessor,Segment,Transmission,Transmission.TransmissionMixin
public class LengthSegment<REFERENCEE extends Transmission> extends AbstractReferenceeLengthSegment<REFERENCEE> implements Segment, org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty<REFERENCEE>
AnLengthSegmentenriches aSegmentwith an allocation declaration computed from the referencedTransmission.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.serial.AllocLengthAccessor
AllocLengthAccessor.AllocLengthBuilder<B extends AllocLengthAccessor.AllocLengthBuilder<B>>, AllocLengthAccessor.AllocLengthMutator, AllocLengthAccessor.AllocLengthProperty
-
Nested 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.EndianessProperty
-
Nested 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.LengthProperty
-
Nested classes/interfaces inherited from interface org.refcodes.serial.LengthWidthAccessor
LengthWidthAccessor.LengthWidthBuilder<B extends LengthWidthAccessor.LengthWidthBuilder<B>>, LengthWidthAccessor.LengthWidthMutator, LengthWidthAccessor.LengthWidthProperty
-
Nested 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.SegmentMixin
-
Nested 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, LENGTH_ENDIANESS, LENGTH_WIDTH
-
-
Constructor Summary
Constructors Constructor Description LengthSegment()LengthSegment(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intfromTransmission(Sequence aSequence, int aOffset)(Re-)initializes this instance with the the givenSequencedata.REFERENCEEgetReferencee()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, toSchema, toSequence, toSimpleTypeMap, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.refcodes.mixin.ReferenceeAccessor.ReferenceeProperty
letReferencee
-
Methods inherited from interface org.refcodes.serial.Segment
fromTransmission, fromTransmission, fromTransmission, receiveFrom, receiveFrom
-
Methods inherited from interface org.refcodes.serial.Transmission
getLength, toSchema, toSequence, toSimpleTypeMap, transmitTo, transmitTo
-
Methods inherited from interface org.refcodes.serial.Transmission.TransmissionMixin
transmitTo
-
-
-
-
Constructor Detail
-
LengthSegment
public LengthSegment(TransmissionMetrics aTransmissionMetrics)
-
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
public LengthSegment(REFERENCEE aReferencee, org.refcodes.numerical.Endianess aEndianess)
-
LengthSegment
public LengthSegment(REFERENCEE aReferencee, int aLengthWidth, org.refcodes.numerical.Endianess aEndianess)
-
LengthSegment
public LengthSegment(REFERENCEE aReferencee, int aLengthWidth)
-
LengthSegment
public LengthSegment(REFERENCEE aReferencee)
-
LengthSegment
public LengthSegment(REFERENCEE aReferencee, TransmissionMetrics aTransmissionMetrics)
-
-
Method Detail
-
fromTransmission
public int fromTransmission(Sequence aSequence, int aOffset) throws TransmissionException
(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
public void receiveFrom(InputStream aInputStream, OutputStream aReturnStream) throws IOException, TransmissionException
(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
public REFERENCEE getReferencee()
- Specified by:
getReferenceein interfaceorg.refcodes.mixin.ReferenceeAccessor<REFERENCEE extends Transmission>
-
setReferencee
public void setReferencee(REFERENCEE aDecoratee)
- Specified by:
setReferenceein interfaceorg.refcodes.mixin.ReferenceeAccessor.ReferenceeMutator<REFERENCEE extends Transmission>
-
-