CIRCT 23.0.0git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
SerialCoordOutputBatch::TypeDeserializer Class Reference
Inheritance diagram for SerialCoordOutputBatch::TypeDeserializer:
Inheritance graph
[legend]
Collaboration diagram for SerialCoordOutputBatch::TypeDeserializer:
Collaboration graph
[legend]

Public Types

using Base = QueuedDecodeTypeDeserializer< SerialCoordOutputBatch >
 
using OutputCallback = Base::OutputCallback
 
using DecodedOutputs = Base::DecodedOutputs
 
- Public Types inherited from esi::QueuedDecodeTypeDeserializer< SerialCoordOutputBatch >
using OutputCallback = detail::TypedReadOwnedCallback< SerialCoordOutputBatch >
 
using DecodedOutputs = std::vector< std::unique_ptr< SerialCoordOutputBatch > >
 

Public Member Functions

 TypeDeserializer (OutputCallback output)
 
- Public Member Functions inherited from esi::QueuedDecodeTypeDeserializer< SerialCoordOutputBatch >
 QueuedDecodeTypeDeserializer (OutputCallback output)
 
virtual ~QueuedDecodeTypeDeserializer ()=default
 
bool push (std::unique_ptr< SegmentedMessageData > &msg)
 Push one raw message into the deserializer.
 
bool poke ()
 Retry delivery of any typed outputs which were previously blocked by the client callback.
 

Private Member Functions

DecodedOutputs decode (std::unique_ptr< SegmentedMessageData > &msg) override
 Decode one raw message into zero or more typed outputs.
 

Private Attributes

std::vector< Coordaccumulated
 
std::vector< uint8_t > partialFrameBytes
 
size_t remainingCoords = 0
 

Additional Inherited Members

Detailed Description

Definition at line 1936 of file esitester.cpp.

Member Typedef Documentation

◆ Base

Definition at line 1939 of file esitester.cpp.

◆ DecodedOutputs

Definition at line 1941 of file esitester.cpp.

◆ OutputCallback

Definition at line 1940 of file esitester.cpp.

Constructor & Destructor Documentation

◆ TypeDeserializer()

SerialCoordOutputBatch::TypeDeserializer::TypeDeserializer ( OutputCallback  output)
inlineexplicit

Definition at line 1943 of file esitester.cpp.

Member Function Documentation

◆ decode()

DecodedOutputs SerialCoordOutputBatch::TypeDeserializer::decode ( std::unique_ptr< SegmentedMessageData > &  msg)
inlineoverrideprivatevirtual

Decode one raw message into zero or more typed outputs.

Implementations must consume msg before returning, even when zero outputs are produced.

Implements esi::QueuedDecodeTypeDeserializer< SerialCoordOutputBatch >.

Definition at line 1947 of file esitester.cpp.

References accumulated, SerialCoordOutputHeader::coordsCount, SerialCoordOutputFrame::data, esi::MessageData::getBytes(), esi::MessageData::getSize(), SerialCoordOutputFrame::header, partialFrameBytes, remainingCoords, SerialCoordOutputData::x, and SerialCoordOutputData::y.

Member Data Documentation

◆ accumulated

std::vector<Coord> SerialCoordOutputBatch::TypeDeserializer::accumulated
private

Definition at line 1996 of file esitester.cpp.

Referenced by decode().

◆ partialFrameBytes

std::vector<uint8_t> SerialCoordOutputBatch::TypeDeserializer::partialFrameBytes
private

Definition at line 1997 of file esitester.cpp.

Referenced by decode().

◆ remainingCoords

size_t SerialCoordOutputBatch::TypeDeserializer::remainingCoords = 0
private

Definition at line 1998 of file esitester.cpp.

Referenced by decode().


The documentation for this class was generated from the following file: