28 static_cast<Svc::FpFrameHeader::TokenType>(
sizeof(I32)) :
40 status = serializer.
serialize(real_data_size);
45 status = serializer.
serialize(static_cast<I32>(packet_type));
49 status = serializer.
serialize(data, size,
true);
67 for (U32 i = 0; i < size; i++) {
73 hash.
final(hashBuffer);
106 const U32 maxU32 = std::numeric_limits<U32>::max();
Serialization/Deserialization operation was successful.
abstract class representing a framing protocol
SerializeBufferBase & getSerializeRepr()
#define HASH_DIGEST_LENGTH
NATIVE_UINT_TYPE get_capacity() const
virtual void route(Fw::Buffer &data)=0
send deframed data into the system
DeframingProtocolInterface * m_interface
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
PlatformIntType NATIVE_INT_TYPE
NATIVE_UINT_TYPE get_allocated_size() const
SerializeStatus
forward declaration for string
void final(HashBuffer &buffer)
void frame(const U8 *const data, const U32 size, Fw::ComPacket::ComPacketType packet_type) override
Implements the frame method.
Abstract base class representing a deframing protocol.
FprimeDeframing()
Constructor.
static void hash(const void *data, const NATIVE_INT_TYPE len, HashBuffer &buffer)
FprimeFraming()
Constructor.
A generic interface for creating and comparing hash values.
DeframingStatus deframe(Types::CircularBuffer &buffer, U32 &needed) override
virtual Fw::Buffer allocate(const U32 size)=0
called to allocate memory, typically delegating to an allocate port call
C++-compatible configuration header for fprime configuration.
uint8_t U8
8-bit unsigned integer
virtual void send(Fw::Buffer &outgoing)=0
send framed data out of the framer
DeframingStatus
Status of the deframing call.
void update(const void *const data, const NATIVE_INT_TYPE len)
FramingProtocolInterface * m_interface
Fw::SerializeStatus peek(char &value, NATIVE_UINT_TYPE offset=0) const
A container class for holding a hash buffer.
virtual Fw::Buffer allocate(const U32 size)=0
allocation callback to allocate memory when framing
bool validate(Types::CircularBuffer &buffer, U32 size)