CIRCT 23.0.0git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
esi::detail::PODTypeDeserializer< T > Class Template Reference

Default deserializer for simple 1:1 typed reads. More...

#include <TypedPorts.h>

Collaboration diagram for esi::detail::PODTypeDeserializer< T >:
Collaboration graph
[legend]

Public Types

using OutputCallback = TypedReadOwnedCallback< T >
 

Public Member Functions

 PODTypeDeserializer (OutputCallback output, WireInfo wireInfo)
 
bool push (std::unique_ptr< SegmentedMessageData > &msg)
 
bool poke ()
 

Private Member Functions

bool pokeLocked ()
 

Private Attributes

OutputCallback output
 
WireInfo wireInfo
 
std::mutex mutex
 
std::unique_ptr< T > pendingOutput
 

Detailed Description

template<typename T>
class esi::detail::PODTypeDeserializer< T >

Default deserializer for simple 1:1 typed reads.

This path converts one raw message into one typed value and forwards it to the typed callback. If the callback rejects the decoded object, preserve it until the raw message is retried so the same owned object is presented again.

Definition at line 174 of file TypedPorts.h.

Member Typedef Documentation

◆ OutputCallback

template<typename T >
using esi::detail::PODTypeDeserializer< T >::OutputCallback = TypedReadOwnedCallback<T>

Definition at line 176 of file TypedPorts.h.

Constructor & Destructor Documentation

◆ PODTypeDeserializer()

template<typename T >
esi::detail::PODTypeDeserializer< T >::PODTypeDeserializer ( OutputCallback  output,
WireInfo  wireInfo 
)
inline

Definition at line 178 of file TypedPorts.h.

Member Function Documentation

◆ poke()

template<typename T >
bool esi::detail::PODTypeDeserializer< T >::poke ( )
inline

◆ pokeLocked()

template<typename T >
bool esi::detail::PODTypeDeserializer< T >::pokeLocked ( )
inlineprivate

◆ push()

template<typename T >
bool esi::detail::PODTypeDeserializer< T >::push ( std::unique_ptr< SegmentedMessageData > &  msg)
inline

Member Data Documentation

◆ mutex

template<typename T >
std::mutex esi::detail::PODTypeDeserializer< T >::mutex
private

◆ output

template<typename T >
OutputCallback esi::detail::PODTypeDeserializer< T >::output
private

Definition at line 215 of file TypedPorts.h.

Referenced by esi::detail::PODTypeDeserializer< T >::pokeLocked().

◆ pendingOutput

template<typename T >
std::unique_ptr<T> esi::detail::PODTypeDeserializer< T >::pendingOutput
private

◆ wireInfo

template<typename T >
WireInfo esi::detail::PODTypeDeserializer< T >::wireInfo
private

Definition at line 216 of file TypedPorts.h.

Referenced by esi::detail::PODTypeDeserializer< T >::push().


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