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;
304 #endif // MessageType_H_ Definition: MessageType.h:177
bool threshold
Definition: MessageType.h:141
Базовый интерфейс для создания координаторов ввода/вывода
Definition: IOController_i.idl:33
Definition: MessageType.h:180
Definition: CommonEventLoop.h:14
long ThresholdId
Definition: UniSetTypes_i.idl:31
Definition: MessageType.h:170
Definition: MessageType.h:181
Definition: MessageType.h:236
Definition: MessageType.h:186
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:69
Definition: MessageType.h:178
const ThresholdId DefaultThresholdId
Definition: UniSetTypes.h:70
long TimerId
Definition: UniSetTypes_i.idl:32
Definition: MessageType.h:126
Definition: UniSetTypes_i.idl:44
Definition: MessageType.h:279
Definition: MessageType.h:90
uniset::TimerId id
Definition: MessageType.h:230
Definition: MessageType.h:179
Definition: IOController_i.idl:79
Command
Definition: MessageType.h:173
ByteOfMessage RawDataOfTransportMessage[SizeOfTransportMessage]
Definition: UniSetTypes_i.idl:36
Definition: MessageType.h:213
Definition: MessageType.h:187
octet ByteOfMessage
Definition: UniSetTypes_i.idl:35
Definition: MessageType.h:35
bool forward
Definition: MessageType.h:270
long ObjectId
Definition: UniSetTypes_i.idl:30