1 #include "hmbdc/Copyright.hpp" 4 #include "hmbdc/comm/Topic.hpp" 5 #include "hmbdc/time/Time.hpp" 6 #include "hmbdc/app/Message.hpp" 10 namespace hmbdc {
namespace app {
namespace mcast {
12 using namespace hmbdc;
18 uint16_t& messagePayloadLen() {
19 return *
reinterpret_cast<uint16_t*
>(payload());
22 uint16_t
const& messagePayloadLen()
const {
23 return *
reinterpret_cast<uint16_t const*
>(payload());
26 std::pair<char const*, char const*> topic()
const {
27 char const* b =
reinterpret_cast<const char*
>(
this)
29 return std::make_pair(b, b + topicLen);
32 void const* payload()
const {
33 return reinterpret_cast<const char*
>(
this)
38 return reinterpret_cast<char*
>(
this)
42 uint16_t typeTag()
const {
47 template <
typename Message>
53 template <
typename Message>
54 Message
const& wrapped()
const {
59 size_t wireSize()
const {
61 + messagePayloadLen();
64 size_t wireSizeContainsTopic()
const {
67 } __attribute__((packed));
topic as in the publish / subscribe communication paradigm
Definition: Topic.hpp:14
Definition: Message.hpp:21
Definition: Messages.hpp:76
Definition: Message.hpp:25
Definition: Message.hpp:46
Definition: Messages.hpp:69
Definition: Client.hpp:11