MessageView< TMessageSpec > Class Template Reference

Space-ng SDK: sol3::core::MessageView< TMessageSpec > Class Template Reference
Space-ng SDK
sol3::core::MessageView< TMessageSpec > Class Template Reference

#include <sol3/core/message_view.h>

Inheritance diagram for sol3::core::MessageView< TMessageSpec >:
sol3::core::AnyMessageView

Public Types

using TableType = typename TMessageSpec::TableType
 
using NativeTableType = typename TableType::NativeTableType
 

Public Member Functions

 MessageView ()=default
 Default-constructed, empty view. More...
 
 MessageView (AnyMessageView const &view)
 
TableType const & payload () const
 
- Public Member Functions inherited from sol3::core::AnyMessageView
 AnyMessageView ()=default
 Default-constructed, empty view. More...
 
void update (SeqRingSlotView const &slot_view, MessageSchema schema, std::chrono::steady_clock::duration time_out)
 
bool valid () const
 
bool hasValue () const
 True if valid() and both header and payload buffers are present. More...
 
 operator bool () const
 
bool cached () const
 
void setCached (bool cached)
 
void checkHasValue () const
 Throws if hasValue() is false. More...
 
void checkValid () const
 Throws if valid() is false. More...
 
msg::MessageHeader const & header () const
 
template<typename TTableType >
TTableType const & payload () const
 
uint64_t seq () const
 
flatbuffers::span< uint8_t const > headerSpan () const
 Size-prefixed header buffer. More...
 
flatbuffers::span< uint8_t const > payloadSpan () const
 Non-size-prefixed payload buffer. More...
 
flatbuffers::span< uint8_t const > messageSpan () const
 header and payload span More...
 
void reset ()
 
MessageSchema const & schema () const
 
void payloadToJson (JsonFormat format, std::string &out_json) const
 
std::string payloadToJson (JsonFormat format) const
 

Friends

void toJson (MessageView< TMessageSpec > const &view, std::string &out_json, JsonFormat format=JsonFormat::SINGLE_LINE)
 
std::string toJson (MessageView< TMessageSpec > const &view, JsonFormat format=JsonFormat::SINGLE_LINE)
 
std::string format_as (MessageView< TMessageSpec > const &view)
 

Detailed Description

template<typename TMessageSpec>
class sol3::core::MessageView< TMessageSpec >

A validated, read-only view over a single message instance from the ring.

Provides access to the parsed header and payload, along with spans to the underlying buffers. Instances become invalid if the owning reader advances beyond the cached sequence.

Member Typedef Documentation

◆ NativeTableType

template<typename TMessageSpec >
using sol3::core::MessageView< TMessageSpec >::NativeTableType = typename TableType::NativeTableType

◆ TableType

template<typename TMessageSpec >
using sol3::core::MessageView< TMessageSpec >::TableType = typename TMessageSpec::TableType

Constructor & Destructor Documentation

◆ MessageView() [1/2]

template<typename TMessageSpec >
sol3::core::MessageView< TMessageSpec >::MessageView ( )
default

Default-constructed, empty view.

◆ MessageView() [2/2]

template<typename TMessageSpec >
sol3::core::MessageView< TMessageSpec >::MessageView ( AnyMessageView< TMessageSpec > const &  view)
inline

Member Function Documentation

◆ payload()

template<typename TMessageSpec >
TableType const& sol3::core::MessageView< TMessageSpec >::payload ( ) const
inline

Friends And Related Function Documentation

◆ format_as

template<typename TMessageSpec >
std::string format_as ( MessageView< TMessageSpec > const &  view)
friend

◆ toJson [1/2]

template<typename TMessageSpec >
std::string toJson ( MessageView< TMessageSpec > const &  view,
JsonFormat  format = JsonFormat::SINGLE_LINE 
)
friend

◆ toJson [2/2]

template<typename TMessageSpec >
void toJson ( MessageView< TMessageSpec > const &  view,
std::string &  out_json,
JsonFormat  format = JsonFormat::SINGLE_LINE 
)
friend

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