6 #ifndef MOTORCORTEX_CORE_CM_GROUPRAWPUB_H
7 #define MOTORCORTEX_CORE_CM_GROUPRAWPUB_H
9 #include "cm_basepub.h"
10 #include "cm_groupmanager.h"
11 #include "motorcortex.pb.h"
14 #include <nng/supplemental/tls/tls.h>
18 class BaseRequestReply;
20 struct GroupContainer;
22 auto constexpr GP_ID_HEADER_SIZE_BYTES = 4;
34 void iterate()
override;
38 void close()
override;
41 static void pipeEvent(nng_pipe pipe, nng_pipe_ev pipe_ev,
void* ptr);
44 static void pipeEvent(nng_pipe pipe,
int pipe_ev,
void* ptr);
46 virtual size_t encodeGroupParameterMsgWithId(
GroupContainer& group, uint8_t* reply) = 0;
50 nng_listener listener;
54 nng_tls_config* tls_cfg_{
nullptr};
56 long group_update_counter_;
70 #endif // MOTORCORTEX_CORE_CM_GROUPRAWPUB_H