hmbdc
simplify-high-performance-messaging-programming
Namespaces | Classes | Typedefs | Functions | Variables
hmbdc::app Namespace Reference

Namespaces

 context_property
 
 mcast
 
 netmap
 
 tcpcast
 
 utils
 

Classes

class  Client
 A Client represents a thread of execution/a task. The execution is managed by a Context. a Client object could participate in message dispatching as the receiver of specifed message types. More...
 
class  Context
 A Context is like a media object that facilitates the communications for the Clients that it is holding. a Client can only be added to (or started within) once to a single Context, undefined behavior otherwise. the communication model is determined by the context_property by default it is in the nature of broadcast fashion within local process indicating by broadcast<> More...
 
struct  EmptyLogTrailer
 
struct  Flush
 
class  hasMemoryAttachment
 if a specific hmbdc network transport (for example tcpcast) supports message with memory attachment, the message needs to be derived from this base - as the FIRST base, so it can be handled properly by the hmbdc network transport when sending and receiving it More...
 
class  hasTag
 each message type has 16 bit tag More...
 
class  JustBytes
 A special type of message. More...
 
class  LastSystemMessage
 hmbdc system messages use tag values less than this one More...
 
class  LoggerT
 a high performance async logger that doesn't penalize logging threads as much when the logging load is heavy More...
 
struct  LoggingT
 
struct  LogTrailer
 
struct  MemorySeg
 
struct  MessageHandler
 
struct  MessageHandler< CcClient, M, Messages... >
 
struct  MessageHead
 
struct  MessageWrap
 
struct  MessageWrap< JustBytes >
 
struct  SimpleLogger
 a very straightforward logger that works safely More...
 
class  single_thread_powered_client
 a trait class, if a Client can only run on a single specific thread in Pool, derive the Client from it, hmbdc will check to ensure that is the case More...
 
struct  StartMemorySegTrain
 
struct  Trace
 

Typedefs

using Topic = comm::Topic
 
template<typename Singleton >
using SingletonGuardian = pattern::SingletonGuardian< Singleton >
 
using Config = config_detail::Config
 

Functions

struct hmbdc::app::MessageHead __attribute__ ((packed))
 
template<size_t MaxStreamableSize>
hmbdc::app::LoggingT hasTag __attribute__ ((__may_alias__, packed))
 
struct hmbdc::app::hasMemoryAttachment __attribute__ ((aligned(8)))
 

Variables

char const g_LogLevelStr [][12]
 
char const g_SimpleLogLevelStr [][12+1]
 
hmbdc::app::MessageWrap __attribute__
 

Detailed Description

hmbdc's application layer where API resides

Variable Documentation

char const hmbdc::app::g_LogLevelStr[][12]
Initial value:
= {
"DEBUG : ",
"NOTICE: ",
"WARNING: ",
"CRITICAL: "
}
char const hmbdc::app::g_SimpleLogLevelStr[][12+1]
Initial value:
= {
" debug : ",
" notice: ",
" warning: ",
" critical: "
}