Ember
Loading...
Searching...
No Matches
Ember::Network::FlatBufferCodec Class Reference

#include <FlatBufferCodec.h>

Public Member Functions

 FlatBufferCodec ()
 ~FlatBufferCodec ()
void Reset ()
flatbuffers::FlatBufferBuilder & GetBuilder ()
MessageFrame BuildHandshake (const std::string &version, const std::string &clientId, const std::string &clientName="", const std::vector< std::string > &capabilities={})
MessageFrame BuildHandshakeAck (const std::string &version, const std::string &sessionId, bool accepted=true, const std::string &error="")
MessageFrame BuildTreeInit (const std::string &treeId, const std::string &treeName, flatbuffers::Offset< Protocol::NodeDefinition > rootOffset, const std::vector< flatbuffers::Offset< Protocol::BlackboardDefinition > > &blackboards={}, const std::vector< flatbuffers::Offset< Protocol::KeyValue > > &metadata={})
MessageFrame BuildTreeInitAck (const std::string &treeId, bool success=true, int32_t nodeCount=0, const std::string &error="")
MessageFrame BuildTickUpdate (const std::string &treeId, int64_t tickNumber, int64_t tickTimestampMs, float deltaTimeMs, bool isDelta, const std::vector< flatbuffers::Offset< Protocol::NodeState > > &states, const std::vector< int64_t > &executionPath={})
MessageFrame BuildBlackboardUpdate (const std::string &treeId, const std::string &blackboardId, int64_t tickNumber, const std::vector< flatbuffers::Offset< Protocol::BlackboardUpdateEntry > > &updates)
MessageFrame BuildTreeReset (const std::string &treeId, int64_t tickNumber, const std::string &reason="")
MessageFrame BuildDisconnect (const std::string &reason="", const std::string &message="")
MessageFrame BuildError (Protocol::ErrorCode code, const std::string &message, bool fatal=false)
flatbuffers::Offset< Protocol::NodeDefinition > CreateNodeDefinition (int64_t id, Protocol::NodeType nodeType, const std::string &subtype, const std::string &name, const std::string &description="", const std::vector< flatbuffers::Offset< Protocol::KeyValue > > &attributes={}, const std::vector< flatbuffers::Offset< Protocol::NodeDefinition > > &children={})
flatbuffers::Offset< Protocol::NodeState > CreateNodeState (int64_t id, Protocol::NodeStatus status, Protocol::NodeStatus lastResult=Protocol::NodeStatus_Idle, int64_t tickCount=0, const std::string &message="")
flatbuffers::Offset< Protocol::KeyValue > CreateKeyValue (const std::string &key, const std::string &value)
flatbuffers::Offset< Protocol::BlackboardEntry > CreateBlackboardEntry (const std::string &key, const std::string &valueType, const std::string &value, const std::string &description="")
flatbuffers::Offset< Protocol::BlackboardDefinition > CreateBlackboardDefinition (const std::string &id, const std::string &name, const std::vector< flatbuffers::Offset< Protocol::BlackboardEntry > > &entries)
flatbuffers::Offset< Protocol::BlackboardUpdateEntry > CreateBlackboardUpdateEntry (const std::string &key, const std::string &value, const std::string &previousValue)

Static Public Member Functions

template<typename T>
static bool Verify (const uint8_t *data, size_t size)
template<typename T>
static const T * GetRoot (const uint8_t *data)
template<typename T>
static const T * GetRoot (const std::vector< uint8_t > &data)

Private Attributes

std::unique_ptr< flatbuffers::FlatBufferBuilder > m_builder

Detailed Description

Definition at line 16 of file FlatBufferCodec.h.

Constructor & Destructor Documentation

◆ FlatBufferCodec()

Ember::Network::FlatBufferCodec::FlatBufferCodec ( )

Definition at line 6 of file FlatBufferCodec.cpp.

◆ ~FlatBufferCodec()

Ember::Network::FlatBufferCodec::~FlatBufferCodec ( )
default

Member Function Documentation

◆ BuildBlackboardUpdate()

MessageFrame Ember::Network::FlatBufferCodec::BuildBlackboardUpdate ( const std::string & treeId,
const std::string & blackboardId,
int64_t tickNumber,
const std::vector< flatbuffers::Offset< Protocol::BlackboardUpdateEntry > > & updates )

Definition at line 144 of file FlatBufferCodec.cpp.

◆ BuildDisconnect()

MessageFrame Ember::Network::FlatBufferCodec::BuildDisconnect ( const std::string & reason = "",
const std::string & message = "" )

Definition at line 186 of file FlatBufferCodec.cpp.

◆ BuildError()

MessageFrame Ember::Network::FlatBufferCodec::BuildError ( Protocol::ErrorCode code,
const std::string & message,
bool fatal = false )

Definition at line 206 of file FlatBufferCodec.cpp.

◆ BuildHandshake()

MessageFrame Ember::Network::FlatBufferCodec::BuildHandshake ( const std::string & version,
const std::string & clientId,
const std::string & clientName = "",
const std::vector< std::string > & capabilities = {} )

Definition at line 14 of file FlatBufferCodec.cpp.

◆ BuildHandshakeAck()

MessageFrame Ember::Network::FlatBufferCodec::BuildHandshakeAck ( const std::string & version,
const std::string & sessionId,
bool accepted = true,
const std::string & error = "" )

Definition at line 45 of file FlatBufferCodec.cpp.

◆ BuildTickUpdate()

MessageFrame Ember::Network::FlatBufferCodec::BuildTickUpdate ( const std::string & treeId,
int64_t tickNumber,
int64_t tickTimestampMs,
float deltaTimeMs,
bool isDelta,
const std::vector< flatbuffers::Offset< Protocol::NodeState > > & states,
const std::vector< int64_t > & executionPath = {} )

Definition at line 117 of file FlatBufferCodec.cpp.

◆ BuildTreeInit()

MessageFrame Ember::Network::FlatBufferCodec::BuildTreeInit ( const std::string & treeId,
const std::string & treeName,
flatbuffers::Offset< Protocol::NodeDefinition > rootOffset,
const std::vector< flatbuffers::Offset< Protocol::BlackboardDefinition > > & blackboards = {},
const std::vector< flatbuffers::Offset< Protocol::KeyValue > > & metadata = {} )

Definition at line 68 of file FlatBufferCodec.cpp.

◆ BuildTreeInitAck()

MessageFrame Ember::Network::FlatBufferCodec::BuildTreeInitAck ( const std::string & treeId,
bool success = true,
int32_t nodeCount = 0,
const std::string & error = "" )

Definition at line 96 of file FlatBufferCodec.cpp.

◆ BuildTreeReset()

MessageFrame Ember::Network::FlatBufferCodec::BuildTreeReset ( const std::string & treeId,
int64_t tickNumber,
const std::string & reason = "" )

Definition at line 167 of file FlatBufferCodec.cpp.

◆ CreateBlackboardDefinition()

flatbuffers::Offset< Protocol::BlackboardDefinition > Ember::Network::FlatBufferCodec::CreateBlackboardDefinition ( const std::string & id,
const std::string & name,
const std::vector< flatbuffers::Offset< Protocol::BlackboardEntry > > & entries )

Definition at line 309 of file FlatBufferCodec.cpp.

◆ CreateBlackboardEntry()

flatbuffers::Offset< Protocol::BlackboardEntry > Ember::Network::FlatBufferCodec::CreateBlackboardEntry ( const std::string & key,
const std::string & valueType,
const std::string & value,
const std::string & description = "" )

Definition at line 285 of file FlatBufferCodec.cpp.

◆ CreateBlackboardUpdateEntry()

flatbuffers::Offset< Protocol::BlackboardUpdateEntry > Ember::Network::FlatBufferCodec::CreateBlackboardUpdateEntry ( const std::string & key,
const std::string & value,
const std::string & previousValue )

Definition at line 329 of file FlatBufferCodec.cpp.

◆ CreateKeyValue()

flatbuffers::Offset< Protocol::KeyValue > Ember::Network::FlatBufferCodec::CreateKeyValue ( const std::string & key,
const std::string & value )

Definition at line 271 of file FlatBufferCodec.cpp.

◆ CreateNodeDefinition()

flatbuffers::Offset< Protocol::NodeDefinition > Ember::Network::FlatBufferCodec::CreateNodeDefinition ( int64_t id,
Protocol::NodeType nodeType,
const std::string & subtype,
const std::string & name,
const std::string & description = "",
const std::vector< flatbuffers::Offset< Protocol::KeyValue > > & attributes = {},
const std::vector< flatbuffers::Offset< Protocol::NodeDefinition > > & children = {} )

Definition at line 225 of file FlatBufferCodec.cpp.

◆ CreateNodeState()

flatbuffers::Offset< Protocol::NodeState > Ember::Network::FlatBufferCodec::CreateNodeState ( int64_t id,
Protocol::NodeStatus status,
Protocol::NodeStatus lastResult = Protocol::NodeStatus_Idle,
int64_t tickCount = 0,
const std::string & message = "" )

Definition at line 253 of file FlatBufferCodec.cpp.

◆ GetBuilder()

flatbuffers::FlatBufferBuilder & Ember::Network::FlatBufferCodec::GetBuilder ( )

Definition at line 12 of file FlatBufferCodec.cpp.

◆ GetRoot() [1/2]

template<typename T>
const T * Ember::Network::FlatBufferCodec::GetRoot ( const std::vector< uint8_t > & data)
inlinestatic

Definition at line 86 of file FlatBufferCodec.h.

◆ GetRoot() [2/2]

template<typename T>
const T * Ember::Network::FlatBufferCodec::GetRoot ( const uint8_t * data)
inlinestatic

Definition at line 84 of file FlatBufferCodec.h.

◆ Reset()

void Ember::Network::FlatBufferCodec::Reset ( )

Definition at line 10 of file FlatBufferCodec.cpp.

◆ Verify()

template<typename T>
bool Ember::Network::FlatBufferCodec::Verify ( const uint8_t * data,
size_t size )
inlinestatic

Definition at line 79 of file FlatBufferCodec.h.

Member Data Documentation

◆ m_builder

std::unique_ptr<flatbuffers::FlatBufferBuilder> Ember::Network::FlatBufferCodec::m_builder
private

Definition at line 91 of file FlatBufferCodec.h.


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