23 outgoing_machine_message_queue);
26 void execute(uint64_t pending_signals)
override;
38 auto device =
vdm_.get_device(device_address);
41 if (slave ==
nullptr) {
50 std::string connection_id_;
51 uint32_t device_address_;
54 std::vector<VirtualParameter*> parameters_;
56 uint32_t stale_counter_ = 0;
58 Monitoring(
const std::string& connection_id, uint32_t device_address,
59 const std::string& topic, uint32_t interval,
60 std::vector<VirtualParameter*>& parameters,
62 : connection_id_(connection_id),
63 device_address_(device_address),
66 parameters_(parameters),
67 timestamp_parameter_(timestamp_parameter) {}
70 uint64_t signal_counter_ = 0;
73 std::map<std::string, struct Monitoring> monitoring_map_;
75 ParameterValueRefresher od_entry_value_refresher_;
78 const IncomingMachineMessage& incoming_machine_message,
79 motionmaster::MotionMasterMessage::MotionMasterMessage::Status* status);
Definition ethernet_slave.h:5
mm::comm::spoe::Device & getDevice()
Definition ethernet_slave.cc:79
VirtualDeviceManager & vdm_
Definition machine.h:71
Machine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition machine.cc:7
bool done() override
Check if all of the machine started processes are done (including the Command Workers)
Definition monitor_machine.cc:461
void execute(uint64_t pending_signals) override
Execute the machine.
Definition monitor_machine.cc:22
MonitorMachine(VirtualDeviceManager &vdm, ctpl::thread_pool &thread_pool, Notifier ¬ifier, mm::core::containers::ThreadSafeQueue< OutgoingMachineMessage > &outgoing_machine_message_queue)
Definition monitor_machine.cc:13
void abort_all_client_requests()
Definition monitor_machine.cc:362
mm::comm::spoe::Device * get_ethernet_device(uint32_t device_address)
Definition monitor_machine.h:33
friend class CommandWorker
Definition monitor_machine.h:17
void abort_client_requests(const std::string &connection_id) override
Abort all of the requests a certain client has issues.
Definition monitor_machine.cc:379
void abort_client_requests_by_topic(const std::string &topic)
Definition monitor_machine.cc:399
~MonitorMachine() override
Definition monitor_machine.cc:20
void abort_client_requests_by_device_address(uint32_t device_address)
Definition monitor_machine.cc:423
Definition virtual_device_manager.h:16
Definition virtual_parameter.h:9
Handles TCP communication with SOMANET devices over SPoE.
Definition spoe.h:302
Thread-safe FIFO queue with optional capacity limit.
Definition thread_safe_queue.h:23
MasterType g_master_type
Definition global.cc:20
@ kSpoe
Definition global.h:34