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
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
SerializeStatus setBuffLen(Serializable::SizeType length) override
Set buffer length manually.
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.
The size of the serial representation.
void finalize(HashBuffer &buffer) const
PlatformAssertArgType FwAssertArgType
The type of arguments to assert functions.