CHG: removed the sourcetype out of the basic message
This commit is contained in:
@@ -32,6 +32,9 @@ namespace WHISPER {
|
||||
class InternalUDPService : public whispercomm {
|
||||
|
||||
|
||||
public:
|
||||
InternalUDPService(std::string id, std::uint16_t port, std::string destinationAdress, std::string myAdress);
|
||||
~InternalUDPService();
|
||||
private:
|
||||
/// ip address of the destination
|
||||
std::string destinationAdress_;
|
||||
@@ -84,9 +87,6 @@ namespace WHISPER {
|
||||
|
||||
|
||||
|
||||
public:
|
||||
InternalUDPService(std::uint32_t parentid,std::uint32_t id, SourceType owndevicetype,std::uint16_t port, std::string destinationAdress, std::string myAdress);
|
||||
~InternalUDPService();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace WHISPER {
|
||||
|
||||
Join(std::string receivedMessage);
|
||||
|
||||
Join(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port, std::string addr);
|
||||
Join(std::string ownID, std::uint32_t port, std::string addr);
|
||||
|
||||
};
|
||||
}
|
||||
@@ -18,7 +18,7 @@ namespace WHISPER {
|
||||
|
||||
Leave(std::string receivedMessage);
|
||||
|
||||
Leave(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port, std::string addr);
|
||||
Leave(std::string deviceID, std::uint32_t port, std::string addr);
|
||||
|
||||
};
|
||||
}
|
||||
@@ -94,10 +94,10 @@ namespace WHISPER {
|
||||
|
||||
public:
|
||||
Message()=default;
|
||||
Message(std::string senderUUID, MsgTopics topic, MsgType Type,SourceType src);
|
||||
Message(std::string senderUUID, MsgTopics topic, MsgType Type);
|
||||
|
||||
[[deprecated]]
|
||||
Message(std::uint32_t parentId,std::uint32_t deviceId, MsgTopics topic, MsgType Type,SourceType src);
|
||||
Message(std::uint32_t parentId,std::uint32_t deviceId, MsgTopics topic, MsgType Type);
|
||||
Message(std::string msg);
|
||||
|
||||
/**
|
||||
@@ -110,14 +110,9 @@ namespace WHISPER {
|
||||
std::uint32_t topic_;
|
||||
/// WHISPER::MsgType ot the payload
|
||||
std::uint32_t msgType_;
|
||||
/// WHISPER::SourceType of the sender
|
||||
std::uint32_t sourceType_;
|
||||
///sender uuid
|
||||
std::string senderUUID_;
|
||||
/// id of the sender
|
||||
std::uint32_t deviceId_;
|
||||
/// parent id of the sender 0 if its the manager
|
||||
std::uint32_t parentId_;
|
||||
|
||||
|
||||
/**
|
||||
* @brief returns the serialized message
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace WHISPER {
|
||||
|
||||
Ping(std::string receivedMessage);
|
||||
|
||||
Ping(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port);
|
||||
Ping(std::string deviceID, std::uint32_t port);
|
||||
|
||||
};
|
||||
}
|
||||
@@ -17,7 +17,7 @@ namespace WHISPER {
|
||||
|
||||
Pong(std::string receivedMessage);
|
||||
|
||||
Pong(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port);
|
||||
Pong(std::string deviceID, std::uint32_t port);
|
||||
|
||||
};
|
||||
}
|
||||
@@ -24,15 +24,11 @@ namespace messages {
|
||||
namespace header {
|
||||
PROTOBUF_CONSTEXPR Message::Message(
|
||||
::_pbi::ConstantInitialized): _impl_{
|
||||
/*decltype(_impl_._has_bits_)*/{}
|
||||
, /*decltype(_impl_._cached_size_)*/{}
|
||||
, /*decltype(_impl_.senderuuid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
||||
/*decltype(_impl_.senderuuid_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
|
||||
, /*decltype(_impl_.payload_)*/nullptr
|
||||
, /*decltype(_impl_.topic_)*/0u
|
||||
, /*decltype(_impl_.msgtype_)*/0u
|
||||
, /*decltype(_impl_.sourcetype_)*/0u
|
||||
, /*decltype(_impl_.sourceid_)*/0u
|
||||
, /*decltype(_impl_.parentid_)*/0u} {}
|
||||
, /*decltype(_impl_._cached_size_)*/{}} {}
|
||||
struct MessageDefaultTypeInternal {
|
||||
PROTOBUF_CONSTEXPR MessageDefaultTypeInternal()
|
||||
: _instance(::_pbi::ConstantInitialized{}) {}
|
||||
@@ -49,7 +45,7 @@ static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_messa
|
||||
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_message_2eproto = nullptr;
|
||||
|
||||
const uint32_t TableStruct_message_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_._has_bits_),
|
||||
~0u, // no _has_bits_
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _internal_metadata_),
|
||||
~0u, // no _extensions_
|
||||
~0u, // no _oneof_case_
|
||||
@@ -57,21 +53,11 @@ const uint32_t TableStruct_message_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(
|
||||
~0u, // no _inlined_string_donated_
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.topic_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.msgtype_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.sourcetype_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.senderuuid_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.sourceid_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.parentid_),
|
||||
PROTOBUF_FIELD_OFFSET(::messages::header::Message, _impl_.payload_),
|
||||
~0u,
|
||||
~0u,
|
||||
~0u,
|
||||
~0u,
|
||||
0,
|
||||
1,
|
||||
~0u,
|
||||
};
|
||||
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
|
||||
{ 0, 13, -1, sizeof(::messages::header::Message)},
|
||||
{ 0, -1, -1, sizeof(::messages::header::Message)},
|
||||
};
|
||||
|
||||
static const ::_pb::Message* const file_default_instances[] = {
|
||||
@@ -80,19 +66,17 @@ static const ::_pb::Message* const file_default_instances[] = {
|
||||
|
||||
const char descriptor_table_protodef_message_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
|
||||
"\n\rmessage.proto\022\017messages.header\032\031google"
|
||||
"/protobuf/any.proto\"\300\001\n\007Message\022\r\n\005topic"
|
||||
"\030\001 \001(\r\022\017\n\007msgType\030\002 \001(\r\022\022\n\nsourceType\030\003 "
|
||||
"\001(\r\022\022\n\nsenderUUID\030\004 \001(\t\022\025\n\010sourceID\030\005 \001("
|
||||
"\rH\000\210\001\001\022\025\n\010parentID\030\006 \001(\rH\001\210\001\001\022%\n\007payload"
|
||||
"\030\007 \001(\0132\024.google.protobuf.AnyB\013\n\t_sourceI"
|
||||
"DB\013\n\t_parentIDb\006proto3"
|
||||
"/protobuf/any.proto\"d\n\007Message\022\r\n\005topic\030"
|
||||
"\001 \001(\r\022\017\n\007msgType\030\002 \001(\r\022\022\n\nsenderUUID\030\003 \001"
|
||||
"(\t\022%\n\007payload\030\005 \001(\0132\024.google.protobuf.An"
|
||||
"yb\006proto3"
|
||||
;
|
||||
static const ::_pbi::DescriptorTable* const descriptor_table_message_2eproto_deps[1] = {
|
||||
&::descriptor_table_google_2fprotobuf_2fany_2eproto,
|
||||
};
|
||||
static ::_pbi::once_flag descriptor_table_message_2eproto_once;
|
||||
const ::_pbi::DescriptorTable descriptor_table_message_2eproto = {
|
||||
false, false, 262, descriptor_table_protodef_message_2eproto,
|
||||
false, false, 169, descriptor_table_protodef_message_2eproto,
|
||||
"message.proto",
|
||||
&descriptor_table_message_2eproto_once, descriptor_table_message_2eproto_deps, 1, 1,
|
||||
schemas, file_default_instances, TableStruct_message_2eproto::offsets,
|
||||
@@ -112,13 +96,6 @@ namespace header {
|
||||
|
||||
class Message::_Internal {
|
||||
public:
|
||||
using HasBits = decltype(std::declval<Message>()._impl_._has_bits_);
|
||||
static void set_has_sourceid(HasBits* has_bits) {
|
||||
(*has_bits)[0] |= 1u;
|
||||
}
|
||||
static void set_has_parentid(HasBits* has_bits) {
|
||||
(*has_bits)[0] |= 2u;
|
||||
}
|
||||
static const ::PROTOBUF_NAMESPACE_ID::Any& payload(const Message* msg);
|
||||
};
|
||||
|
||||
@@ -142,15 +119,11 @@ Message::Message(const Message& from)
|
||||
: ::PROTOBUF_NAMESPACE_ID::Message() {
|
||||
Message* const _this = this; (void)_this;
|
||||
new (&_impl_) Impl_{
|
||||
decltype(_impl_._has_bits_){from._impl_._has_bits_}
|
||||
, /*decltype(_impl_._cached_size_)*/{}
|
||||
, decltype(_impl_.senderuuid_){}
|
||||
decltype(_impl_.senderuuid_){}
|
||||
, decltype(_impl_.payload_){nullptr}
|
||||
, decltype(_impl_.topic_){}
|
||||
, decltype(_impl_.msgtype_){}
|
||||
, decltype(_impl_.sourcetype_){}
|
||||
, decltype(_impl_.sourceid_){}
|
||||
, decltype(_impl_.parentid_){}};
|
||||
, /*decltype(_impl_._cached_size_)*/{}};
|
||||
|
||||
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||
_impl_.senderuuid_.InitDefault();
|
||||
@@ -165,8 +138,8 @@ Message::Message(const Message& from)
|
||||
_this->_impl_.payload_ = new ::PROTOBUF_NAMESPACE_ID::Any(*from._impl_.payload_);
|
||||
}
|
||||
::memcpy(&_impl_.topic_, &from._impl_.topic_,
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.parentid_) -
|
||||
reinterpret_cast<char*>(&_impl_.topic_)) + sizeof(_impl_.parentid_));
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.msgtype_) -
|
||||
reinterpret_cast<char*>(&_impl_.topic_)) + sizeof(_impl_.msgtype_));
|
||||
// @@protoc_insertion_point(copy_constructor:messages.header.Message)
|
||||
}
|
||||
|
||||
@@ -175,15 +148,11 @@ inline void Message::SharedCtor(
|
||||
(void)arena;
|
||||
(void)is_message_owned;
|
||||
new (&_impl_) Impl_{
|
||||
decltype(_impl_._has_bits_){}
|
||||
, /*decltype(_impl_._cached_size_)*/{}
|
||||
, decltype(_impl_.senderuuid_){}
|
||||
decltype(_impl_.senderuuid_){}
|
||||
, decltype(_impl_.payload_){nullptr}
|
||||
, decltype(_impl_.topic_){0u}
|
||||
, decltype(_impl_.msgtype_){0u}
|
||||
, decltype(_impl_.sourcetype_){0u}
|
||||
, decltype(_impl_.sourceid_){0u}
|
||||
, decltype(_impl_.parentid_){0u}
|
||||
, /*decltype(_impl_._cached_size_)*/{}
|
||||
};
|
||||
_impl_.senderuuid_.InitDefault();
|
||||
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||
@@ -222,21 +191,13 @@ void Message::Clear() {
|
||||
}
|
||||
_impl_.payload_ = nullptr;
|
||||
::memset(&_impl_.topic_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&_impl_.sourcetype_) -
|
||||
reinterpret_cast<char*>(&_impl_.topic_)) + sizeof(_impl_.sourcetype_));
|
||||
cached_has_bits = _impl_._has_bits_[0];
|
||||
if (cached_has_bits & 0x00000003u) {
|
||||
::memset(&_impl_.sourceid_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&_impl_.parentid_) -
|
||||
reinterpret_cast<char*>(&_impl_.sourceid_)) + sizeof(_impl_.parentid_));
|
||||
}
|
||||
_impl_._has_bits_.Clear();
|
||||
reinterpret_cast<char*>(&_impl_.msgtype_) -
|
||||
reinterpret_cast<char*>(&_impl_.topic_)) + sizeof(_impl_.msgtype_));
|
||||
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
|
||||
}
|
||||
|
||||
const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
|
||||
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
|
||||
_Internal::HasBits has_bits{};
|
||||
while (!ctx->Done(&ptr)) {
|
||||
uint32_t tag;
|
||||
ptr = ::_pbi::ReadTag(ptr, &tag);
|
||||
@@ -257,17 +218,9 @@ const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx)
|
||||
} else
|
||||
goto handle_unusual;
|
||||
continue;
|
||||
// uint32 sourceType = 3;
|
||||
// string senderUUID = 3;
|
||||
case 3:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
|
||||
_impl_.sourcetype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
|
||||
CHK_(ptr);
|
||||
} else
|
||||
goto handle_unusual;
|
||||
continue;
|
||||
// string senderUUID = 4;
|
||||
case 4:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
|
||||
auto str = _internal_mutable_senderuuid();
|
||||
ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
|
||||
CHK_(ptr);
|
||||
@@ -275,27 +228,9 @@ const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx)
|
||||
} else
|
||||
goto handle_unusual;
|
||||
continue;
|
||||
// optional uint32 sourceID = 5;
|
||||
// .google.protobuf.Any payload = 5;
|
||||
case 5:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
|
||||
_Internal::set_has_sourceid(&has_bits);
|
||||
_impl_.sourceid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
|
||||
CHK_(ptr);
|
||||
} else
|
||||
goto handle_unusual;
|
||||
continue;
|
||||
// optional uint32 parentID = 6;
|
||||
case 6:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
|
||||
_Internal::set_has_parentid(&has_bits);
|
||||
_impl_.parentid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
|
||||
CHK_(ptr);
|
||||
} else
|
||||
goto handle_unusual;
|
||||
continue;
|
||||
// .google.protobuf.Any payload = 7;
|
||||
case 7:
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
|
||||
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
|
||||
ptr = ctx->ParseMessage(_internal_mutable_payload(), ptr);
|
||||
CHK_(ptr);
|
||||
} else
|
||||
@@ -317,7 +252,6 @@ const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx)
|
||||
CHK_(ptr != nullptr);
|
||||
} // while
|
||||
message_done:
|
||||
_impl_._has_bits_.Or(has_bits);
|
||||
return ptr;
|
||||
failure:
|
||||
ptr = nullptr;
|
||||
@@ -343,38 +277,20 @@ uint8_t* Message::_InternalSerialize(
|
||||
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_msgtype(), target);
|
||||
}
|
||||
|
||||
// uint32 sourceType = 3;
|
||||
if (this->_internal_sourcetype() != 0) {
|
||||
target = stream->EnsureSpace(target);
|
||||
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_sourcetype(), target);
|
||||
}
|
||||
|
||||
// string senderUUID = 4;
|
||||
// string senderUUID = 3;
|
||||
if (!this->_internal_senderuuid().empty()) {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->_internal_senderuuid().data(), static_cast<int>(this->_internal_senderuuid().length()),
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
|
||||
"messages.header.Message.senderUUID");
|
||||
target = stream->WriteStringMaybeAliased(
|
||||
4, this->_internal_senderuuid(), target);
|
||||
3, this->_internal_senderuuid(), target);
|
||||
}
|
||||
|
||||
// optional uint32 sourceID = 5;
|
||||
if (_internal_has_sourceid()) {
|
||||
target = stream->EnsureSpace(target);
|
||||
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(5, this->_internal_sourceid(), target);
|
||||
}
|
||||
|
||||
// optional uint32 parentID = 6;
|
||||
if (_internal_has_parentid()) {
|
||||
target = stream->EnsureSpace(target);
|
||||
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_parentid(), target);
|
||||
}
|
||||
|
||||
// .google.protobuf.Any payload = 7;
|
||||
// .google.protobuf.Any payload = 5;
|
||||
if (this->_internal_has_payload()) {
|
||||
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
|
||||
InternalWriteMessage(7, _Internal::payload(this),
|
||||
InternalWriteMessage(5, _Internal::payload(this),
|
||||
_Internal::payload(this).GetCachedSize(), target, stream);
|
||||
}
|
||||
|
||||
@@ -394,14 +310,14 @@ size_t Message::ByteSizeLong() const {
|
||||
// Prevent compiler warnings about cached_has_bits being unused
|
||||
(void) cached_has_bits;
|
||||
|
||||
// string senderUUID = 4;
|
||||
// string senderUUID = 3;
|
||||
if (!this->_internal_senderuuid().empty()) {
|
||||
total_size += 1 +
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
|
||||
this->_internal_senderuuid());
|
||||
}
|
||||
|
||||
// .google.protobuf.Any payload = 7;
|
||||
// .google.protobuf.Any payload = 5;
|
||||
if (this->_internal_has_payload()) {
|
||||
total_size += 1 +
|
||||
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
|
||||
@@ -418,24 +334,6 @@ size_t Message::ByteSizeLong() const {
|
||||
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_msgtype());
|
||||
}
|
||||
|
||||
// uint32 sourceType = 3;
|
||||
if (this->_internal_sourcetype() != 0) {
|
||||
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sourcetype());
|
||||
}
|
||||
|
||||
cached_has_bits = _impl_._has_bits_[0];
|
||||
if (cached_has_bits & 0x00000003u) {
|
||||
// optional uint32 sourceID = 5;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_sourceid());
|
||||
}
|
||||
|
||||
// optional uint32 parentID = 6;
|
||||
if (cached_has_bits & 0x00000002u) {
|
||||
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_parentid());
|
||||
}
|
||||
|
||||
}
|
||||
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
|
||||
}
|
||||
|
||||
@@ -467,19 +365,6 @@ void Message::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOB
|
||||
if (from._internal_msgtype() != 0) {
|
||||
_this->_internal_set_msgtype(from._internal_msgtype());
|
||||
}
|
||||
if (from._internal_sourcetype() != 0) {
|
||||
_this->_internal_set_sourcetype(from._internal_sourcetype());
|
||||
}
|
||||
cached_has_bits = from._impl_._has_bits_[0];
|
||||
if (cached_has_bits & 0x00000003u) {
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
_this->_impl_.sourceid_ = from._impl_.sourceid_;
|
||||
}
|
||||
if (cached_has_bits & 0x00000002u) {
|
||||
_this->_impl_.parentid_ = from._impl_.parentid_;
|
||||
}
|
||||
_this->_impl_._has_bits_[0] |= cached_has_bits;
|
||||
}
|
||||
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
|
||||
}
|
||||
|
||||
@@ -499,14 +384,13 @@ void Message::InternalSwap(Message* other) {
|
||||
auto* lhs_arena = GetArenaForAllocation();
|
||||
auto* rhs_arena = other->GetArenaForAllocation();
|
||||
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
|
||||
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
|
||||
&_impl_.senderuuid_, lhs_arena,
|
||||
&other->_impl_.senderuuid_, rhs_arena
|
||||
);
|
||||
::PROTOBUF_NAMESPACE_ID::internal::memswap<
|
||||
PROTOBUF_FIELD_OFFSET(Message, _impl_.parentid_)
|
||||
+ sizeof(Message::_impl_.parentid_)
|
||||
PROTOBUF_FIELD_OFFSET(Message, _impl_.msgtype_)
|
||||
+ sizeof(Message::_impl_.msgtype_)
|
||||
- PROTOBUF_FIELD_OFFSET(Message, _impl_.payload_)>(
|
||||
reinterpret_cast<char*>(&_impl_.payload_),
|
||||
reinterpret_cast<char*>(&other->_impl_.payload_));
|
||||
|
||||
@@ -181,15 +181,12 @@ class Message final :
|
||||
// accessors -------------------------------------------------------
|
||||
|
||||
enum : int {
|
||||
kSenderUUIDFieldNumber = 4,
|
||||
kPayloadFieldNumber = 7,
|
||||
kSenderUUIDFieldNumber = 3,
|
||||
kPayloadFieldNumber = 5,
|
||||
kTopicFieldNumber = 1,
|
||||
kMsgTypeFieldNumber = 2,
|
||||
kSourceTypeFieldNumber = 3,
|
||||
kSourceIDFieldNumber = 5,
|
||||
kParentIDFieldNumber = 6,
|
||||
};
|
||||
// string senderUUID = 4;
|
||||
// string senderUUID = 3;
|
||||
void clear_senderuuid();
|
||||
const std::string& senderuuid() const;
|
||||
template <typename ArgT0 = const std::string&, typename... ArgT>
|
||||
@@ -203,7 +200,7 @@ class Message final :
|
||||
std::string* _internal_mutable_senderuuid();
|
||||
public:
|
||||
|
||||
// .google.protobuf.Any payload = 7;
|
||||
// .google.protobuf.Any payload = 5;
|
||||
bool has_payload() const;
|
||||
private:
|
||||
bool _internal_has_payload() const;
|
||||
@@ -239,41 +236,6 @@ class Message final :
|
||||
void _internal_set_msgtype(uint32_t value);
|
||||
public:
|
||||
|
||||
// uint32 sourceType = 3;
|
||||
void clear_sourcetype();
|
||||
uint32_t sourcetype() const;
|
||||
void set_sourcetype(uint32_t value);
|
||||
private:
|
||||
uint32_t _internal_sourcetype() const;
|
||||
void _internal_set_sourcetype(uint32_t value);
|
||||
public:
|
||||
|
||||
// optional uint32 sourceID = 5;
|
||||
bool has_sourceid() const;
|
||||
private:
|
||||
bool _internal_has_sourceid() const;
|
||||
public:
|
||||
void clear_sourceid();
|
||||
uint32_t sourceid() const;
|
||||
void set_sourceid(uint32_t value);
|
||||
private:
|
||||
uint32_t _internal_sourceid() const;
|
||||
void _internal_set_sourceid(uint32_t value);
|
||||
public:
|
||||
|
||||
// optional uint32 parentID = 6;
|
||||
bool has_parentid() const;
|
||||
private:
|
||||
bool _internal_has_parentid() const;
|
||||
public:
|
||||
void clear_parentid();
|
||||
uint32_t parentid() const;
|
||||
void set_parentid(uint32_t value);
|
||||
private:
|
||||
uint32_t _internal_parentid() const;
|
||||
void _internal_set_parentid(uint32_t value);
|
||||
public:
|
||||
|
||||
// @@protoc_insertion_point(class_scope:messages.header.Message)
|
||||
private:
|
||||
class _Internal;
|
||||
@@ -282,15 +244,11 @@ class Message final :
|
||||
typedef void InternalArenaConstructable_;
|
||||
typedef void DestructorSkippable_;
|
||||
struct Impl_ {
|
||||
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr senderuuid_;
|
||||
::PROTOBUF_NAMESPACE_ID::Any* payload_;
|
||||
uint32_t topic_;
|
||||
uint32_t msgtype_;
|
||||
uint32_t sourcetype_;
|
||||
uint32_t sourceid_;
|
||||
uint32_t parentid_;
|
||||
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||
};
|
||||
union { Impl_ _impl_; };
|
||||
friend struct ::TableStruct_message_2eproto;
|
||||
@@ -346,27 +304,7 @@ inline void Message::set_msgtype(uint32_t value) {
|
||||
// @@protoc_insertion_point(field_set:messages.header.Message.msgType)
|
||||
}
|
||||
|
||||
// uint32 sourceType = 3;
|
||||
inline void Message::clear_sourcetype() {
|
||||
_impl_.sourcetype_ = 0u;
|
||||
}
|
||||
inline uint32_t Message::_internal_sourcetype() const {
|
||||
return _impl_.sourcetype_;
|
||||
}
|
||||
inline uint32_t Message::sourcetype() const {
|
||||
// @@protoc_insertion_point(field_get:messages.header.Message.sourceType)
|
||||
return _internal_sourcetype();
|
||||
}
|
||||
inline void Message::_internal_set_sourcetype(uint32_t value) {
|
||||
|
||||
_impl_.sourcetype_ = value;
|
||||
}
|
||||
inline void Message::set_sourcetype(uint32_t value) {
|
||||
_internal_set_sourcetype(value);
|
||||
// @@protoc_insertion_point(field_set:messages.header.Message.sourceType)
|
||||
}
|
||||
|
||||
// string senderUUID = 4;
|
||||
// string senderUUID = 3;
|
||||
inline void Message::clear_senderuuid() {
|
||||
_impl_.senderuuid_.ClearToEmpty();
|
||||
}
|
||||
@@ -416,63 +354,7 @@ inline void Message::set_allocated_senderuuid(std::string* senderuuid) {
|
||||
// @@protoc_insertion_point(field_set_allocated:messages.header.Message.senderUUID)
|
||||
}
|
||||
|
||||
// optional uint32 sourceID = 5;
|
||||
inline bool Message::_internal_has_sourceid() const {
|
||||
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
|
||||
return value;
|
||||
}
|
||||
inline bool Message::has_sourceid() const {
|
||||
return _internal_has_sourceid();
|
||||
}
|
||||
inline void Message::clear_sourceid() {
|
||||
_impl_.sourceid_ = 0u;
|
||||
_impl_._has_bits_[0] &= ~0x00000001u;
|
||||
}
|
||||
inline uint32_t Message::_internal_sourceid() const {
|
||||
return _impl_.sourceid_;
|
||||
}
|
||||
inline uint32_t Message::sourceid() const {
|
||||
// @@protoc_insertion_point(field_get:messages.header.Message.sourceID)
|
||||
return _internal_sourceid();
|
||||
}
|
||||
inline void Message::_internal_set_sourceid(uint32_t value) {
|
||||
_impl_._has_bits_[0] |= 0x00000001u;
|
||||
_impl_.sourceid_ = value;
|
||||
}
|
||||
inline void Message::set_sourceid(uint32_t value) {
|
||||
_internal_set_sourceid(value);
|
||||
// @@protoc_insertion_point(field_set:messages.header.Message.sourceID)
|
||||
}
|
||||
|
||||
// optional uint32 parentID = 6;
|
||||
inline bool Message::_internal_has_parentid() const {
|
||||
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
|
||||
return value;
|
||||
}
|
||||
inline bool Message::has_parentid() const {
|
||||
return _internal_has_parentid();
|
||||
}
|
||||
inline void Message::clear_parentid() {
|
||||
_impl_.parentid_ = 0u;
|
||||
_impl_._has_bits_[0] &= ~0x00000002u;
|
||||
}
|
||||
inline uint32_t Message::_internal_parentid() const {
|
||||
return _impl_.parentid_;
|
||||
}
|
||||
inline uint32_t Message::parentid() const {
|
||||
// @@protoc_insertion_point(field_get:messages.header.Message.parentID)
|
||||
return _internal_parentid();
|
||||
}
|
||||
inline void Message::_internal_set_parentid(uint32_t value) {
|
||||
_impl_._has_bits_[0] |= 0x00000002u;
|
||||
_impl_.parentid_ = value;
|
||||
}
|
||||
inline void Message::set_parentid(uint32_t value) {
|
||||
_internal_set_parentid(value);
|
||||
// @@protoc_insertion_point(field_set:messages.header.Message.parentID)
|
||||
}
|
||||
|
||||
// .google.protobuf.Any payload = 7;
|
||||
// .google.protobuf.Any payload = 5;
|
||||
inline bool Message::_internal_has_payload() const {
|
||||
return this != internal_default_instance() && _impl_.payload_ != nullptr;
|
||||
}
|
||||
|
||||
@@ -9,13 +9,9 @@ package messages.header;
|
||||
message Message {
|
||||
uint32 topic = 1;
|
||||
uint32 msgType = 2;
|
||||
uint32 sourceType = 3;
|
||||
string senderUUID = 4;
|
||||
optional uint32 sourceID = 5;
|
||||
optional uint32 parentID = 6;
|
||||
|
||||
string senderUUID = 3;
|
||||
|
||||
google.protobuf.Any payload = 7;
|
||||
google.protobuf.Any payload = 5;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace WHISPER {
|
||||
|
||||
StringData(std::string receivedMessage);
|
||||
|
||||
StringData(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::string data);
|
||||
StringData(std::string senderID, std::string data);
|
||||
|
||||
};
|
||||
}
|
||||
@@ -13,15 +13,14 @@ namespace WHISPER {
|
||||
class localClient
|
||||
{
|
||||
public:
|
||||
localClient(std::uint32_t port,std::string addr,std::uint32_t parentid,std::uint32_t id, std::shared_ptr<zmq::socket_t> clientSocket);
|
||||
localClient(std::uint32_t port,std::string addr,std::string id, std::shared_ptr<zmq::socket_t> clientSocket);
|
||||
~localClient();
|
||||
|
||||
|
||||
|
||||
std::uint32_t getPort();
|
||||
std::string getAddr();
|
||||
std::uint32_t getParentid();
|
||||
std::uint32_t getID();
|
||||
std::string getID();
|
||||
|
||||
void addClientSocket(std::shared_ptr<zmq::socket_t> socket);
|
||||
std::shared_ptr<zmq::socket_t> getClientSocket();
|
||||
@@ -35,8 +34,7 @@ namespace WHISPER {
|
||||
|
||||
const std::uint32_t port_;
|
||||
const std::string addr_;
|
||||
const std::uint32_t parentid_;
|
||||
const std::uint32_t id_;
|
||||
const std::string id_;
|
||||
std::shared_ptr<zmq::socket_t> clientSocket_;
|
||||
std::time_t lastResponse_;
|
||||
|
||||
|
||||
@@ -33,15 +33,23 @@ namespace WHISPER
|
||||
{
|
||||
// Add datatypes here
|
||||
class whispercomm{
|
||||
public:
|
||||
whispercomm(std::string id):ownID_(id)
|
||||
{};
|
||||
void connect(std::shared_ptr<threadSafeQueue<WHISPER::Message>> receiver);
|
||||
void publish(std::string msg,std::string topic);
|
||||
void disconnect();
|
||||
void subscribe(std::string topic);
|
||||
void unsubscribe(std::string topic);
|
||||
|
||||
std::string getOwnID();
|
||||
// SourceType getOwnDeviceType();
|
||||
|
||||
private:
|
||||
/// device ID
|
||||
std::uint32_t ownID_;
|
||||
std::string ownID_;
|
||||
/// device ID
|
||||
std::uint32_t parentID_;
|
||||
/// device Type
|
||||
SourceType ownDeviceType_;
|
||||
|
||||
|
||||
/// show if the service is connected or not
|
||||
std::atomic<bool> connected;
|
||||
|
||||
@@ -62,18 +70,6 @@ namespace WHISPER
|
||||
void receive();
|
||||
|
||||
|
||||
public:
|
||||
whispercomm(std::uint32_t parentid,std::uint32_t id, SourceType owndevicetype):parentID_(parentid),ownID_(id),ownDeviceType_(owndevicetype)
|
||||
{};
|
||||
void connect(std::shared_ptr<threadSafeQueue<WHISPER::Message>> receiver);
|
||||
void publish(std::string msg,std::string topic);
|
||||
void disconnect();
|
||||
void subscribe(std::string topic);
|
||||
void unsubscribe(std::string topic);
|
||||
|
||||
std::uint32_t getOwnID();
|
||||
std::uint32_t getParentID();
|
||||
SourceType getOwnDeviceType();
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
namespace WHISPER {
|
||||
|
||||
|
||||
InternalUDPService::InternalUDPService(std::uint32_t parentid,std::uint32_t id, SourceType owndevicetype,std::uint16_t port, std::string destinationAdress,std::string myAdress):
|
||||
whispercomm(parentid,id, owndevicetype),port_(port),destinationAdress_(destinationAdress),myAdress_(myAdress)
|
||||
InternalUDPService::InternalUDPService(std::string id, std::uint16_t port, std::string destinationAdress,std::string myAdress):
|
||||
whispercomm(id),port_(port),destinationAdress_(destinationAdress),myAdress_(myAdress)
|
||||
{
|
||||
ctx = zmq::context_t(2);
|
||||
sender = zmq::socket_t(ctx,zmq::socket_type::radio);
|
||||
@@ -83,7 +83,7 @@ namespace WHISPER {
|
||||
|
||||
LOG_S(INFO)<<"own ID: "<< getOwnID();
|
||||
|
||||
WHISPER::Join join(getParentID(),getOwnID(),getOwnDeviceType(),ownReceivingPort_,myAdress_);
|
||||
WHISPER::Join join(getOwnID(),ownReceivingPort_,myAdress_);
|
||||
this->publish(join.serialize(),WHISPER::MsgTopicsMap[WHISPER::MsgTopics::MANAGEMENT]);
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ namespace WHISPER {
|
||||
|
||||
void InternalUDPService::derivedDisconnect()
|
||||
{
|
||||
WHISPER::Leave Leave(getParentID(),getOwnID(),getOwnDeviceType(),ownReceivingPort_,myAdress_);
|
||||
WHISPER::Leave Leave(getOwnID(),ownReceivingPort_,myAdress_);
|
||||
this->publish(Leave.serialize(),WHISPER::MsgTopicsMap[(WHISPER::MsgTopics)Leave.topic_]);
|
||||
// unsubscribe(WHISPER::MsgTopicsMap[WHISPER::MsgTopics::MANAGEMENT]);
|
||||
|
||||
@@ -150,7 +150,7 @@ namespace WHISPER {
|
||||
|
||||
|
||||
sendToLocalClients(receivedMessage.serialize(), WHISPER::MsgTopicsMap[(WHISPER::MsgTopics)receivedMessage.topic_]);
|
||||
if (receivedMessage.deviceId_ != getOwnID())
|
||||
if (receivedMessage.senderUUID_ != getOwnID())
|
||||
{
|
||||
|
||||
int msgType = receivedMessage.msgType_;
|
||||
@@ -168,7 +168,7 @@ namespace WHISPER {
|
||||
{
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (it->get()->getPort() == join.port || it->get()->getID() == join.deviceId_)
|
||||
if (it->get()->getPort() == join.port || it->get()->getID() == join.senderUUID_)
|
||||
{
|
||||
clientAllreadyIn = true;
|
||||
}
|
||||
@@ -181,7 +181,7 @@ namespace WHISPER {
|
||||
auto tmpAddr = "udp://"+join.sourceAddr+":" + std::to_string(join.port);
|
||||
auto tmpsocket = std::make_shared<zmq::socket_t>(ctx,zmq::socket_type::radio);
|
||||
|
||||
auto client = std::make_shared<localClient>(join.port,tmpAddr,join.parentId_,join.deviceId_, tmpsocket);
|
||||
auto client = std::make_shared<localClient>(join.port,tmpAddr,join.senderUUID_, tmpsocket);
|
||||
// client->port = join.port;
|
||||
// client->id = join.deviceId_;
|
||||
// client->parentid = join.parentId_;
|
||||
@@ -207,7 +207,7 @@ namespace WHISPER {
|
||||
if (localclients.size() > 0) {
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (it->get()->getPort() == Leave.port || (it->get()->getID() == Leave.deviceId_ && it->get()->getParentid() == Leave.deviceId_))
|
||||
if (it->get()->getPort() == Leave.port || (it->get()->getID() == Leave.senderUUID_))
|
||||
{
|
||||
it->get()->getClientSocket()->close();
|
||||
it = localclients.erase(it);
|
||||
@@ -223,9 +223,9 @@ namespace WHISPER {
|
||||
|
||||
}else if(msgType == WHISPER::PING)
|
||||
{
|
||||
if (receivedMessage.deviceId_ != getOwnID() )
|
||||
if (receivedMessage.senderUUID_ != getOwnID() )
|
||||
{
|
||||
WHISPER::Pong pong(getParentID(),getOwnID(),getOwnDeviceType(),ownReceivingPort_);
|
||||
WHISPER::Pong pong(getOwnID(),ownReceivingPort_);
|
||||
this->publish(pong.serialize(),WHISPER::MsgTopicsMap[WHISPER::MsgTopics::MANAGEMENT]);
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@ namespace WHISPER {
|
||||
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (pong.deviceId_ == it->get()->getID() && pong.parentId_ == it->get()->getParentid())
|
||||
if (pong.senderUUID_ == it->get()->getID() )
|
||||
{
|
||||
it->get()->setLastResponse(std::time(nullptr));
|
||||
}
|
||||
@@ -262,7 +262,7 @@ namespace WHISPER {
|
||||
auto tmpMsg = WHISPER::Message(msg);
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (tmpMsg.deviceId_ != it->get()->getID())
|
||||
if (tmpMsg.senderUUID_ != it->get()->getID())
|
||||
{
|
||||
zmq::message_t tmp(msg.begin(),msg.end());
|
||||
tmp.set_group(topic.c_str());
|
||||
@@ -317,7 +317,7 @@ namespace WHISPER {
|
||||
|
||||
if (localclients.size() > 0)
|
||||
{
|
||||
WHISPER::Ping ping(getParentID(),getOwnID(),getOwnDeviceType(),port_);
|
||||
WHISPER::Ping ping(getOwnID(),port_);
|
||||
sendToLocalClients(ping.serialize(), WHISPER::MsgTopicsMap[WHISPER::MsgTopics::MANAGEMENT]);
|
||||
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
|
||||
@@ -12,11 +12,9 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(receivedMessage);
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
joinMessage = messages::join::Join();
|
||||
deviceId_ = msg.sourceid();
|
||||
parentId_ = msg.parentid();
|
||||
this->senderUUID_ = msg.senderuuid();
|
||||
|
||||
|
||||
if (msg.mutable_payload()->Is<messages::join::Join>())
|
||||
@@ -35,8 +33,8 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
WHISPER::Join::Join(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port, std::string addr):
|
||||
Message(parentID,deviceID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::JOIN,src),port(port),sourceAddr(addr)
|
||||
WHISPER::Join::Join(std::string senderID, std::uint32_t port, std::string addr):
|
||||
Message(senderID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::JOIN),port(port),sourceAddr(addr)
|
||||
{
|
||||
joinMessage = messages::join::Join();
|
||||
joinMessage.set_port(port);
|
||||
|
||||
@@ -12,9 +12,8 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(receivedMessage);
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
parentId_ = msg.parentid();
|
||||
senderUUID_ = msg.senderuuid();
|
||||
|
||||
leaveMessage = messages::leave::Leave();
|
||||
|
||||
@@ -37,8 +36,8 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
Leave::Leave(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port, std::string addr):
|
||||
Message(parentID,deviceID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::LEAVE,src),port(port),sourceAddr(addr)
|
||||
Leave::Leave(std::string senderID, std::uint32_t port, std::string addr):
|
||||
Message(senderID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::LEAVE),port(port),sourceAddr(addr)
|
||||
{
|
||||
|
||||
leaveMessage = messages::leave::Leave();
|
||||
|
||||
@@ -13,12 +13,11 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(stringMessage);
|
||||
|
||||
deviceId_ = msg.sourceid();
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
parentId_ = msg.parentid();
|
||||
|
||||
senderUUID_ = msg.senderuuid();
|
||||
auto ptr = std::make_shared<google::protobuf::Any>();
|
||||
payload_->CopyFrom(*msg.mutable_payload());
|
||||
|
||||
} catch (const std::exception& e) {
|
||||
LOG_S(ERROR)<<e.what();
|
||||
@@ -26,15 +25,14 @@ namespace WHISPER {
|
||||
|
||||
|
||||
}
|
||||
Message::Message(std::string senderUUID, MsgTopics topic, MsgType Type,SourceType src):
|
||||
senderUUID_(senderUUID),topic_(topic),sourceType_(src),msgType_(Type)
|
||||
Message::Message(std::string senderUUID, MsgTopics topic, MsgType Type):
|
||||
senderUUID_(senderUUID),topic_(topic),msgType_(Type)
|
||||
{
|
||||
msg = messages::header::Message();
|
||||
|
||||
if(msg.IsInitialized())
|
||||
{
|
||||
msg.set_topic(topic);
|
||||
msg.set_sourcetype(sourceType_);
|
||||
msg.set_msgtype(msgType_);
|
||||
msg.set_senderuuid(senderUUID_);
|
||||
|
||||
@@ -42,22 +40,22 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
Message::Message(std::uint32_t parentId,std::uint32_t deviceId, MsgTopics topic, MsgType Type,SourceType src):
|
||||
parentId_(parentId),deviceId_(deviceId),topic_(topic),sourceType_(src),msgType_(Type)
|
||||
{
|
||||
msg = messages::header::Message();
|
||||
// Message::Message(std::uint32_t parentId,std::uint32_t deviceId, MsgTopics topic, MsgType Type,SourceType src):
|
||||
// parentId_(parentId),deviceId_(deviceId),topic_(topic),sourceType_(src),msgType_(Type)
|
||||
// {
|
||||
// msg = messages::header::Message();
|
||||
|
||||
if(msg.IsInitialized())
|
||||
{
|
||||
msg.set_sourceid(deviceId);
|
||||
msg.set_topic(topic);
|
||||
msg.set_sourcetype(sourceType_);
|
||||
msg.set_msgtype(msgType_);
|
||||
msg.set_parentid(parentId);
|
||||
// if(msg.IsInitialized())
|
||||
// {
|
||||
// msg.set_sourceid(deviceId);
|
||||
// msg.set_topic(topic);
|
||||
// msg.set_sourcetype(sourceType_);
|
||||
// msg.set_msgtype(msgType_);
|
||||
// msg.set_parentid(parentId);
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,11 +13,9 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(receivedMessage);
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
pingMessage = messages::ping::Ping();
|
||||
deviceId_ = msg.sourceid();
|
||||
parentId_ = msg.parentid();
|
||||
senderUUID_ = msg.senderuuid();
|
||||
|
||||
|
||||
if (msg.mutable_payload()->Is<messages::ping::Ping>())
|
||||
@@ -36,8 +34,8 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
WHISPER::Ping::Ping(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port):
|
||||
Message(parentID,deviceID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::PING,src),port_(port)
|
||||
WHISPER::Ping::Ping(std::string senderID, std::uint32_t port):
|
||||
Message(senderID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::PING),port_(port)
|
||||
{
|
||||
pingMessage = messages::ping::Ping();
|
||||
pingMessage.set_port(port_);
|
||||
|
||||
@@ -13,11 +13,9 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(receivedMessage);
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
message_ = messages::pong::Pong();
|
||||
deviceId_ = msg.sourceid();
|
||||
parentId_ = msg.parentid();
|
||||
senderUUID_ = msg.senderuuid();
|
||||
|
||||
if (msg.mutable_payload()->Is<messages::pong::Pong>())
|
||||
{
|
||||
@@ -35,8 +33,8 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
WHISPER::Pong::Pong(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::uint32_t port):
|
||||
Message(parentID,deviceID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::PONG,src),port_(port)
|
||||
WHISPER::Pong::Pong(std::string senderID, std::uint32_t port):
|
||||
Message(senderID,WHISPER::MsgTopics::MANAGEMENT,WHISPER::PONG),port_(port)
|
||||
{
|
||||
// message_ = messages::pong::Pong();
|
||||
if (message_.IsInitialized()) {
|
||||
|
||||
@@ -13,11 +13,9 @@ namespace WHISPER {
|
||||
try {
|
||||
msg.ParseFromString(receivedMessage);
|
||||
topic_ = msg.topic();
|
||||
sourceType_ = msg.sourcetype();
|
||||
msgType_ = msg.msgtype();
|
||||
message_ = messages::stringData::StringData();
|
||||
deviceId_ = msg.sourceid();
|
||||
parentId_ = msg.parentid();
|
||||
senderUUID_ = msg.senderuuid();
|
||||
|
||||
|
||||
if (msg.mutable_payload()->Is<messages::stringData::StringData>())
|
||||
@@ -36,8 +34,8 @@ namespace WHISPER {
|
||||
}
|
||||
|
||||
|
||||
WHISPER::StringData::StringData(std::uint32_t parentID,std::uint32_t deviceID, SourceType src,std::string data):
|
||||
Message(parentID,deviceID,WHISPER::MsgTopics::DATA,WHISPER::STRINGDATA,src),data_(data)
|
||||
WHISPER::StringData::StringData(std::string senderID, std::string data):
|
||||
Message(senderID,WHISPER::MsgTopics::DATA,WHISPER::STRINGDATA),data_(data)
|
||||
{
|
||||
message_ = messages::stringData::StringData();
|
||||
message_.set_data(data);
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include <WHISPER/localClients.hpp>
|
||||
#include <string>
|
||||
|
||||
namespace WHISPER {
|
||||
|
||||
|
||||
localClient::localClient(std::uint32_t port,std::string addr,std::uint32_t parentid,std::uint32_t id, std::shared_ptr<zmq::socket_t> clientSocket)
|
||||
:port_(port),addr_(addr),parentid_(parentid),id_(id),clientSocket_(clientSocket),mx()
|
||||
localClient::localClient(std::uint32_t port,std::string addr,std::string id, std::shared_ptr<zmq::socket_t> clientSocket)
|
||||
:port_(port),addr_(addr),id_(id),clientSocket_(clientSocket),mx()
|
||||
{
|
||||
lastResponse_ = std::time(nullptr);
|
||||
}
|
||||
@@ -28,12 +29,8 @@ std::string localClient::getAddr()
|
||||
std::lock_guard<std::mutex> lock(mx);
|
||||
return addr_;
|
||||
}
|
||||
std::uint32_t localClient::getParentid()
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mx);
|
||||
return parentid_;
|
||||
}
|
||||
std::uint32_t localClient::getID()
|
||||
|
||||
std::string localClient::getID()
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mx);
|
||||
return id_;
|
||||
|
||||
@@ -19,15 +19,12 @@
|
||||
namespace WHISPER
|
||||
{
|
||||
|
||||
std::uint32_t whispercomm::getOwnID()
|
||||
std::string whispercomm::getOwnID()
|
||||
{
|
||||
return ownID_;
|
||||
}
|
||||
|
||||
std::uint32_t whispercomm::getParentID()
|
||||
{
|
||||
return parentID_;
|
||||
}
|
||||
|
||||
|
||||
void whispercomm::connect(std::shared_ptr<threadSafeQueue<WHISPER::Message>> receiver)
|
||||
{
|
||||
@@ -111,10 +108,10 @@ namespace WHISPER
|
||||
bool whispercomm::isGateway(){
|
||||
return gateway;
|
||||
}
|
||||
SourceType whispercomm::getOwnDeviceType()
|
||||
{
|
||||
return ownDeviceType_;
|
||||
}
|
||||
// SourceType whispercomm::getOwnDeviceType()
|
||||
// {
|
||||
// return ownDeviceType_;
|
||||
// }
|
||||
|
||||
|
||||
void whispercomm::setConnected(bool val){
|
||||
|
||||
Reference in New Issue
Block a user