1 #include "hmbdc/Copyright.hpp" 4 #include "hmbdc/app/MessageHandler.hpp" 5 #include "hmbdc/pattern/PoolConsumer.hpp" 6 #include "hmbdc/pattern/LockFreeBufferMisc.hpp" 7 #include "hmbdc/Compile.hpp" 11 namespace hmbdc {
namespace app {
38 template <
typename CcClient,
typename ... Messages>
43 REGISTERED_MESSAGE_SIZE =
sizeof...(Messages),
99 void invokedCb(uint16_t threadSerialNumber)
override {
119 return std::make_tuple<char const*, int>(
nullptr, 0);
136 BufIt const& end, uint16_t threadSerialNumber)
override {
137 CcClient& c =
static_cast<CcClient&
>(*this);
138 for (;it != end; ++it) {
139 c.MessageHandler<CcClient, Messages ...>::handleMessage(*static_cast<MessageHead*>(*it));
void handleRangeImpl(BufIt &it, BufIt const &end, uint16_t threadSerialNumber) override
internal use, don't change or override
Definition: Client.hpp:135
void stoppedCb(std::exception const &e) override
callback called when this Client is taken out of message dispatching
Definition: Client.hpp:76
Client()
trivial constructor
Definition: Client.hpp:49
Definition: GuardedSingleton.hpp:9
std::tuple< char const *, int > schedSpec() const
an overrideable method. returns the schedule policy and priority, override if necessary priority is o...
Definition: Client.hpp:118
char const * hmbdcName() const
return the name of thread that runs this client, override if necessary
Definition: Client.hpp:108
size_t maxBatchMessageCount() const
an overridable method. client receives events in batches and the max batch size is controllable when ...
Definition: Client.hpp:130
void messageDispatchingStartedCb(uint16_t threadSerialNumber) override
called before any messages got dispatched - only once
Definition: Client.hpp:62
Definition: Client.hpp:14
void invokedCb(uint16_t threadSerialNumber) override
this callback is called all the time (frequently)
Definition: Client.hpp:99
bool droppedCb() override
callback called after the Client is safely taken out of the Context
Definition: Client.hpp:86
Definition: PoolConsumer.hpp:13
Definition: Client.hpp:39
Definition: Client.hpp:11
Definition: MessageHandler.hpp:38
Definition: LockFreeBufferMisc.hpp:73