22 #ifndef MessageType_H_
23 #define MessageType_H_
30 #include "UniSetTypes.h"
31 #include "IOController_i.hh"
46 TheLastFieldOfTypeOfMessage
49 int type = { Unused };
58 Priority priority = { Medium };
62 struct timespec tm = { 0, 0 };
73 explicit Message(
int dummy_init ) noexcept {}
80 std::memcpy(&tmsg.data, &msg,
sizeof(msg));
81 tmsg.consumer = msg.consumer;
86 std::string strTypeOfMessage(
int type );
87 std::ostream& operator<<( std::ostream& os,
const Message::TypeOfMessage& t );
105 inline bool operator < (
const VoidMessage& msg )
const
107 if( priority != msg.priority )
108 return priority < msg.priority;
110 if( tm.tv_sec != msg.tm.tv_sec )
111 return tm.tv_sec >= msg.tm.tv_sec;
113 return tm.tv_nsec >= msg.tm.tv_nsec;
118 return transport(*
this);
132 bool undefined = {
false };
135 struct timespec sm_tv = { 0, 0 };
137 UniversalIO::IOType sensor_type = { UniversalIO::DI };
144 SensorMessage( SensorMessage&& m) noexcept =
default;
145 SensorMessage& operator=(SensorMessage&& m) noexcept =
default;
146 SensorMessage(
const SensorMessage& ) noexcept =
default;
147 SensorMessage& operator=(
const SensorMessage& ) noexcept =
default;
149 SensorMessage() noexcept;
151 Priority priority = Message::Medium,
152 UniversalIO::IOType st = UniversalIO::AI,
159 explicit SensorMessage(
int dummy ) noexcept;
161 SensorMessage(const VoidMessage* msg) noexcept;
162 inline TransportMessage transport_msg() const noexcept
164 return transport(*
this);
202 return transport(*
this);
227 return transport(*
this);
242 return transport(*
this);
248 const double& in_sensor_value,
249 const timespec& in_sensor_time,
250 const timespec& in_confirm_time,
251 Priority in_priority = Message::Medium) noexcept;
259 double sensor_value = { 0.0 };
260 struct timespec sensor_time = { 0, 0 };
261 struct timespec confirm_time = { 0, 0 };
263 bool broadcast = {
false };
291 const ::uniset::Timespec& tm,
292 const ::uniset::ProducerInfo& pi,
293 Priority prior = Message::Medium,
296 std::shared_ptr<VoidMessage> toLocalVoidMessage()
const;
Definition: MessageType.h:237
bool forward
Definition: MessageType.h:270
Definition: MessageType.h:36
Definition: MessageType.h:127
bool threshold
Definition: MessageType.h:141
Definition: MessageType.h:171
Command
Definition: MessageType.h:174
@ ReConfiguration
Definition: MessageType.h:180
@ FoldUp
Definition: MessageType.h:177
@ Finish
Definition: MessageType.h:178
@ NetworkInfo
Definition: MessageType.h:181
@ LogRotate
Definition: MessageType.h:186
@ TheLastFieldOfCommand
Definition: MessageType.h:187
@ WatchDog
Definition: MessageType.h:179
Definition: MessageType.h:280
Definition: MessageType.h:214
uniset::TimerId id
Definition: MessageType.h:230
Definition: MessageType.h:91
Базовый интерфейс для создания координаторов ввода/вывода
Definition: IOController_i.idl:34
Definition: CommonEventLoop.h:15
ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage]
Definition: UniSetTypes_i.idl:36
long ThresholdId
Definition: UniSetTypes_i.idl:31
const ThresholdId DefaultThresholdId
Definition: UniSetTypes.h:71
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:70
long ObjectId
Definition: UniSetTypes_i.idl:30
octet ByteOfMessage
Definition: UniSetTypes_i.idl:35
long TimerId
Definition: UniSetTypes_i.idl:32
Definition: IOController_i.idl:83
Definition: UniSetTypes_i.idl:45