DECORATEE
- The decoratee type describing the according subclass to be
enriched with a CRC checksum.Serializable
, org.refcodes.mixin.DecorateeAccessor<DECORATEE>
, org.refcodes.mixin.LengthAccessor
, DecoratorSection<DECORATEE>
, Section
, Transmission
, Transmission.TransmissionMixin
public class CrcSectionDecorator<DECORATEE extends Section> extends AbstractCrcTransmissionDecorator<DECORATEE> implements DecoratorSection<DECORATEE>
org.refcodes.numerical.CrcAlgorithmAccessor.CrcAlgorithmBuilder<B extends org.refcodes.numerical.CrcAlgorithmAccessor.CrcAlgorithmBuilder<B>>, org.refcodes.numerical.CrcAlgorithmAccessor.CrcAlgorithmMutator, org.refcodes.numerical.CrcAlgorithmAccessor.CrcAlgorithmProperty
org.refcodes.numerical.CrcChecksumAccessor.CrcChecksumBuilder<B extends org.refcodes.numerical.CrcChecksumAccessor.CrcChecksumBuilder<B>>, org.refcodes.numerical.CrcChecksumAccessor.CrcChecksumMutator, org.refcodes.numerical.CrcChecksumAccessor.CrcChecksumProperty
org.refcodes.numerical.CrcChecksumConcatenateModeAccessor.CrcChecksumConcatenateModeBuilder<B extends org.refcodes.numerical.CrcChecksumConcatenateModeAccessor.CrcChecksumConcatenateModeBuilder<B>>, org.refcodes.numerical.CrcChecksumConcatenateModeAccessor.CrcChecksumConcatenateModeMutator, org.refcodes.numerical.CrcChecksumConcatenateModeAccessor.CrcChecksumConcatenateModeProperty
org.refcodes.numerical.CrcChecksumValidationModeAccessor.CrcChecksumValidationModeBuilder<B extends org.refcodes.numerical.CrcChecksumValidationModeAccessor.CrcChecksumValidationModeBuilder<B>>, org.refcodes.numerical.CrcChecksumValidationModeAccessor.CrcChecksumValidationModeMutator, org.refcodes.numerical.CrcChecksumValidationModeAccessor.CrcChecksumValidationModeProperty
org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE extends Object,B extends org.refcodes.mixin.DecorateeAccessor.DecorateeBuilder<DECORATEE,B>>, org.refcodes.mixin.DecorateeAccessor.DecorateeMutator<DECORATEE extends Object>, org.refcodes.mixin.DecorateeAccessor.DecorateeProperty<DECORATEE extends Object>
org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B extends org.refcodes.numerical.EndianessAccessor.EndianessBuilder<B>>, org.refcodes.numerical.EndianessAccessor.EndianessMutator, org.refcodes.numerical.EndianessAccessor.EndianessProperty
org.refcodes.mixin.LengthAccessor.LengthBuilder<B extends org.refcodes.mixin.LengthAccessor.LengthBuilder<B>>, org.refcodes.mixin.LengthAccessor.LengthMutator, org.refcodes.mixin.LengthAccessor.LengthProperty
Section.SectionMixin
Transmission.TransmissionMixin
_crcAlgorithm, _crcChecksumConcatenateMode, _crcChecksumValidationMode, _endianess
_crcChecksum, _decoratee, CRC_ALGORITHM, CRC_BYTE_WIDTH, CRC_CHECKSUM, CRC_CHECKSUM_BIG_ENDIAN_BYTES, CRC_CHECKSUM_CONCATENATION_MODE, CRC_CHECKSUM_HEX, CRC_CHECKSUM_LITTLE_ENDIAN_BYTES, CRC_ENDIANESS
Constructor | Description |
---|---|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode,
org.refcodes.numerical.Endianess aEndianess) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode,
org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode,
org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode,
org.refcodes.numerical.Endianess aEndianess) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode,
org.refcodes.numerical.Endianess aEndianess) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode,
org.refcodes.numerical.Endianess aEndianess) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm,
org.refcodes.numerical.Endianess aEndianess) |
|
CrcSectionDecorator(DECORATEE aDecoratee,
TransmissionMetrics aTransmissionMetrics) |
Modifier and Type | Method | Description |
---|---|---|
void |
fromTransmission(Sequence aSequence,
int aOffset,
int aLength) |
(Re-)initializes this instance with the the given
Sequence data. |
void |
receiveFrom(InputStream aInputStream,
int aLength,
OutputStream aReturnStream) |
(Re-)initializes this instance by receiving the according
Sequence from the given InputStream . |
getCrcAlgorithm, getCrcChecksumConcatenateMode, getCrcChecksumValidationMode, getEndianess
equals, getCrcChecksum, getDecoratee, getLength, hashCode, toSchema, toSimpleTypeMap, toString, toTransmission, transmitTo
getCrcChecksumConcatenateMode
getCrcChecksumValidationMode
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
fromTransmission, fromTransmission, fromTransmission, receiveFrom, receiveFrom
fromInputStream, getLength, toSchema, toSimpleTypeMap, toTransmission, transmitTo, transmitTo, transmitTo
public CrcSectionDecorator(DECORATEE aDecoratee, TransmissionMetrics aTransmissionMetrics)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.numerical.Endianess aEndianess)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode, org.refcodes.numerical.Endianess aEndianess)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode, org.refcodes.numerical.Endianess aEndianess)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode, org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode, org.refcodes.numerical.Endianess aEndianess)
public CrcSectionDecorator(DECORATEE aDecoratee, org.refcodes.numerical.CrcAlgorithm aCrcAlgorithm, org.refcodes.mixin.ConcatenateMode aCrcChecksumConcatenateMode, org.refcodes.numerical.ChecksumValidationMode aCrcChecksumValidationMode, org.refcodes.numerical.Endianess aEndianess)
public void fromTransmission(Sequence aSequence, int aOffset, int aLength) throws BadCrcChecksumSequenceException, TransmissionException
Sequence
data.fromTransmission
in interface Section
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
.BadCrcChecksumSequenceException
- thrown in case the CRC checksum
validation failed.TransmissionException
- thrown in case a given Sequence
cannot be processed.public void receiveFrom(InputStream aInputStream, int aLength, OutputStream aReturnStream) throws IOException, TransmissionException, BadCrcChecksumException
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.receiveFrom
in interface Section
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.BadCrcChecksumException
- thrown in case the CRC checksum
validation failed.IOException
- thrown in case reading data from the
InputStream
caused problems.TransmissionException
- thrown in case a given InputStream
bytes cannot be processed.Copyright © 2021. All rights reserved.