COMMS
Template library intended to help with implementation of communication protocols.
Namespaces | Functions
process.h File Reference

Provides auxiliary functions for processing input and dispatching messages. More...

#include <type_traits>
#include <iterator>
#include "comms/ErrorStatus.h"
#include "comms/iterator.h"
#include "comms/dispatch.h"
#include "comms/Message.h"
#include "comms/Assert.h"
#include "comms/MsgDispatcher.h"
#include "comms/details/detect.h"
#include "comms/details/process.h"
#include "comms/util/ScopeGuard.h"
#include "comms/protocol/ProtocolLayerBase.h"

Go to the source code of this file.

Namespaces

 comms
 Main namespace for all classes / functions of COMMS library.
 

Functions

template<typename TBufIter , typename TFrame , typename THandler , typename... TExtraValues>
std::size_t comms::processAllWithDispatch (TBufIter bufIter, std::size_t len, TFrame &&frame, THandler &handler)
 Process all available input and dispatch all created message objects to appropriate handling function. More...
 
template<typename TDispatcher , typename TBufIter , typename TFrame , typename THandler , typename... TExtraValues>
std::size_t comms::processAllWithDispatchViaDispatcher (TBufIter bufIter, std::size_t len, TFrame &&frame, THandler &handler)
 Process all available input and dispatch all created message objects to appropriate handling function. More...
 
template<typename TBufIter , typename TFrame , typename TMsg , typename... TExtraValues>
comms::ErrorStatus comms::processSingle (TBufIter &bufIter, std::size_t len, TFrame &&frame, TMsg &msg, TExtraValues... extraValues)
 Process input until first message is recognized and its object is created or missing data is reported. More...
 
template<typename TBufIter , typename TFrame , typename TMsg , typename THandler , typename... TExtraValues>
comms::ErrorStatus comms::processSingleWithDispatch (TBufIter &bufIter, std::size_t len, TFrame &&frame, TMsg &msg, THandler &handler, TExtraValues... extraValues)
 Process input until first message is recognized, its object is created and dispatched to appropriate handling function, or missing data is reported. More...
 
template<typename TDispatcher , typename TBufIter , typename TFrame , typename TMsg , typename THandler , typename... TExtraValues>
comms::ErrorStatus comms::processSingleWithDispatchViaDispatcher (TBufIter &bufIter, std::size_t len, TFrame &&frame, TMsg &msg, THandler &handler, TExtraValues... extraValues)
 Process input until first message is recognized, its object is created and dispatched to appropriate handling function, or missing data is reported. More...
 

Detailed Description

Provides auxiliary functions for processing input and dispatching messages.