12#ifndef WSFCOMMMESSAGE_HPP
13#define WSFCOMMMESSAGE_HPP
15#include "wsf_export.h"
20#include "UtCloneablePtr.hpp"
21#include "UtScriptClassDefine.hpp"
53 Message(std::unique_ptr<WsfMessage> aMessagePtr);
64 ut::CloneablePtr<WsfMessage>&
SourceMessage() {
return mSrcMessagePtr; }
65 const ut::CloneablePtr<WsfMessage>&
SourceMessage()
const {
return mSrcMessagePtr; }
66 virtual void SetSourceMessage(std::unique_ptr<WsfMessage> aMessagePtr);
75 const std::vector<Address>&
GetTraceRoute()
const {
return mTraceRoute; }
80 size_t GetTTL()
const {
return mTTL; }
81 virtual void SetTTL(
size_t aTTL) { mTTL = aTTL; }
113 unsigned int mSerialNumber{};
119 ut::CloneablePtr<WsfMessage> mSrcMessagePtr;
124 std::vector<MessageHeader*> mHeaders;
125 std::vector<MessageTrailer*> mTrailers;
129 std::vector<wsf::comm::Address> mTraceRoute;
136 unsigned int mTransportFeature;
168struct hash<
wsf::comm::Message::Identifier>
173 hash<wsf::comm::Address>{}(aId.
GetSource());
wsf::comm::Address Address
Definition WsfScriptCommRouterClass.cpp:29
bool operator!=(int aId, const WsfStringInt &aRhs)
Not equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:75
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfAuxDataEnabled()=default
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Definition WsfCommAddress.hpp:57
Definition WsfCommMessage.hpp:43
virtual MessageTrailer * Clone() const =0
virtual ~MessageTrailer()=default
Definition WsfCommMessage.hpp:95
void SetDestination(const Address &aAddress)
Definition WsfCommMessage.hpp:104
void SetSource(const Address &aAddress)
Definition WsfCommMessage.hpp:103
const Address & GetSource() const
Definition WsfCommMessage.hpp:106
unsigned int GetSerialNumber() const
Definition WsfCommMessage.hpp:105
const Address & GetDestination() const
Definition WsfCommMessage.hpp:107
virtual ~Identifier()=default
void SetSerialNumber(unsigned int aSerialNumber)
Definition WsfCommMessage.hpp:102
Definition WsfCommMessage.hpp:51
const ut::CloneablePtr< WsfMessage > & SourceMessage() const
Definition WsfCommMessage.hpp:65
unsigned int & GetTransportFeatures()
Return by reference accessor/mutator.
Definition WsfCommMessage.hpp:78
Message & operator=(const Message &aRhs)
Definition WsfCommMessage.cpp:155
std::vector< Address > & GetTraceRoute()
Definition WsfCommMessage.hpp:74
virtual void SetTTL(size_t aTTL)
Definition WsfCommMessage.hpp:81
Message(Message &&)=default
Result & GetResult()
Definition WsfCommMessage.hpp:83
const char * GetScriptClassName() const override
Definition WsfCommMessage.hpp:60
size_t GetTTL() const
Definition WsfCommMessage.hpp:80
Message & operator=(Message &&)=default
Message(std::unique_ptr< WsfMessage > aMessagePtr)
Definition WsfCommMessage.cpp:61
const std::vector< Address > & GetTraceRoute() const
Definition WsfCommMessage.hpp:75
ut::CloneablePtr< WsfMessage > & SourceMessage()
Definition WsfCommMessage.hpp:64
Definition WsfCommResult.hpp:34
UT_DECLARE_SCRIPT_METHOD(GetTTL)
UT_DECLARE_AUX_DATA_SCRIPT_METHODS()
UT_DECLARE_SCRIPT_METHOD(GetSourceMessage)
UT_DECLARE_SCRIPT_METHOD(GetTraceRoute)
ScriptMessageClass(const std::string &aClassName, UtScriptTypes *aTypesPtr)
Definition WsfCommMessage.cpp:181
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
size_t operator()(const wsf::comm::Message::Identifier &aId) const
Definition WsfCommMessage.hpp:170