|
CIRCT 23.0.0git
|
Default deserializer for simple 1:1 typed reads. More...
#include <TypedPorts.h>

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 |
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.
| using esi::detail::PODTypeDeserializer< T >::OutputCallback = TypedReadOwnedCallback<T> |
Definition at line 176 of file TypedPorts.h.
|
inline |
Definition at line 178 of file TypedPorts.h.
|
inline |
Definition at line 201 of file TypedPorts.h.
References esi::detail::PODTypeDeserializer< T >::mutex, and esi::detail::PODTypeDeserializer< T >::pokeLocked().
|
inlineprivate |
Definition at line 207 of file TypedPorts.h.
References esi::detail::PODTypeDeserializer< T >::output, and esi::detail::PODTypeDeserializer< T >::pendingOutput.
Referenced by esi::detail::PODTypeDeserializer< T >::poke(), and esi::detail::PODTypeDeserializer< T >::push().
|
inline |
|
private |
Definition at line 217 of file TypedPorts.h.
Referenced by esi::detail::PODTypeDeserializer< T >::poke(), and esi::detail::PODTypeDeserializer< T >::push().
|
private |
Definition at line 215 of file TypedPorts.h.
Referenced by esi::detail::PODTypeDeserializer< T >::pokeLocked().
|
private |
Definition at line 218 of file TypedPorts.h.
Referenced by esi::detail::PODTypeDeserializer< T >::pokeLocked(), and esi::detail::PODTypeDeserializer< T >::push().
|
private |
Definition at line 216 of file TypedPorts.h.
Referenced by esi::detail::PODTypeDeserializer< T >::push().