10 namespace FrameDetectors {
17 return Status::MORE_DATA_NEEDED;
37 return Status::NO_FRAME_DETECTED;
45 return Status::NO_FRAME_DETECTED;
50 return Status::NO_FRAME_DETECTED;
58 "FrameHeader::SERIALIZED_SIZE + FrameTrailer::SERIALIZED_SIZE overflows FwSizeType");
66 if (header.
get_lengthField() > std::numeric_limits<FwSizeType>::max() - header_trailer_overhead) {
68 return Status::NO_FRAME_DETECTED;
77 return Status::NO_FRAME_DETECTED;
81 size_out = expected_frame_size;
82 return Status::MORE_DATA_NEEDED;
91 return Status::NO_FRAME_DETECTED;
98 return Status::NO_FRAME_DETECTED;
115 for (
FwSizeType i = 0; i < hash_field_size; i++) {
117 status = data.
peek(byte, i);
128 return Status::NO_FRAME_DETECTED;
131 size_out = expected_frame_size;
132 return Status::FRAME_DETECTED;
void update(const void *const data, const FwSizeType len)
Serialization/Deserialization operation was successful.
PlatformSizeType FwSizeType
U32 get_crcField() const
Get member crcField.
Status detect(const Types::CircularBuffer &data, FwSizeType &size_out) const override
detect if a frame is available within the circular buffer
The size of the serial representation.
SerializeStatus
forward declaration for string
Status
status returned from the detection step
External serialize buffer with no copy semantics.
A generic interface for creating and comparing hash values.
FwSizeType get_allocated_size() const
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
Describes the frame trailer format for the F Prime communications protocol.
uint8_t U8
8-bit unsigned integer
FwSizeType get_capacity() const
Fw::SerializeStatus peek(char &value, FwSizeType offset=0) const
U32 asBigEndianU32() const
Convert bytes 0 through 3 of the hash data to a big-Endian U32 value.
A container class for holding a hash buffer.
RateGroupDivider component implementation.
SerializeStatus setBuffLen(Serializable::SizeType length) override
Set buffer length manually.
void finalize(HashBuffer &buffer) const
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.