hmbdc
simplify-high-performance-messaging-programming
Classes | List of all members
hmbdc::app::utils::AsyncLoggerT< Ctx > Class Template Reference

a high performance async logger that doesn't penalize logging threads as much when the logging load is heavy More...

#include <AsyncLoggerT.hpp>

Inheritance diagram for hmbdc::app::utils::AsyncLoggerT< Ctx >:
hmbdc::app::Client< AsyncLoggerT< Ctx >, LoggingT< Ctx::MAX_MESSAGE_SIZE > > hmbdc::text::lfb_stream::OStringStream< Ctx::Buffer, MessageWrap< LoggingT< Ctx::MAX_MESSAGE_SIZE > >, LoggingT< Ctx::MAX_MESSAGE_SIZE >::typeTag > hmbdc::pattern::GuardedSingleton< AsyncLoggerT< Ctx > >

Classes

struct  LogHeader
 

Additional Inherited Members

- Public Member Functions inherited from hmbdc::app::Client< AsyncLoggerT< Ctx >, LoggingT< Ctx::MAX_MESSAGE_SIZE > >
char const * hmbdcName () const
 return the name of thread that runs this client, override if necessary More...
 
std::tuple< char const *, int > schedSpec () const
 an overrideable method. returns the schedule policy and priority, override if necessary priority is only used when policy is "SCHED_RR", or "SCHED_FIFO" More...
 
size_t maxBatchMessageCount () const
 an overridable method. client receives events in batches and the max batch size is controllable when running in direct mode Context. Here is to specify the max size. More...
 
virtual void messageDispatchingStartedCb (uint16_t threadSerialNumber)
 called before any messages got dispatched - only once More...
 
virtual void stoppedCb (std::exception const &e)
 callback called when this Client is taken out of message dispatching More...
 
virtual bool droppedCb ()
 callback called after the Client is safely taken out of the Context More...
 
virtual void invokedCb (uint16_t threadSerialNumber)
 this callback is called all the time (frequently) - the exact timing is after a batch of messages are dispatched. After this call returns, the previously dispatched message's addresses are no longer valid, which means if you cache the event addresses in the previous handleMessageCb()s, you cannot use those after the return of the next invokeCb function. More...
 
virtual ~Client ()
 trivial
 
void stopped (std::exception const &e) noexcept
 the following are for internal use, don't change or override
 
- Protected Member Functions inherited from hmbdc::app::Client< AsyncLoggerT< Ctx >, LoggingT< Ctx::MAX_MESSAGE_SIZE > >
void batchDone ()
 the derived user's Client has the option to stop the current batch of event dispatching. More...
 

Detailed Description

template<typename Ctx>
class hmbdc::app::utils::AsyncLoggerT< Ctx >

a high performance async logger that doesn't penalize logging threads as much when the logging load is heavy

see

Examples:
hmbdc-log.cpp.

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