CCF
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs
messaging.h File Reference
#include "ccf/ds/logger.h"
#include "ring_buffer.h"
#include <atomic>
#include <condition_variable>
#include <map>
#include <stdexcept>

Go to the source code of this file.

Classes

class  messaging::no_handler
 
class  messaging::already_handled
 
struct  messaging::Counts
 
class  messaging::Dispatcher< MessageType >
 
class  messaging::BufferProcessor
 

Namespaces

namespace  messaging
 

Macros

#define DISPATCHER_SET_MESSAGE_HANDLER(DISP, MSG, ...)    DISP.set_message_handler(MSG, #MSG, __VA_ARGS__)
 

Typedefs

using messaging::Handler = std::function< void(const uint8_t *, size_t)>
 
template<typename MessageType >
using messaging::MessageCounts = std::unordered_map< MessageType, Counts >
 
using messaging::RingbufferDispatcher = Dispatcher< ringbuffer::Message >
 
using messaging::IdleBehaviour = std::function< void(size_t num_consecutive_idles)>
 

Macro Definition Documentation

◆ DISPATCHER_SET_MESSAGE_HANDLER

#define DISPATCHER_SET_MESSAGE_HANDLER (   DISP,
  MSG,
  ... 
)     DISP.set_message_handler(MSG, #MSG, __VA_ARGS__)