# hosts/mgmt_msg.h
## `EndSimulationMsg::kind`
`MgmtKind kind() const noexcept override`
## `HeartbeatMsg::HeartbeatMsg`
`explicit HeartbeatMsg(NodeId sid, NodeStatus st, Time t) noexcept : subscriber_id(sid), status(st), generated_at(t)`
## `HeartbeatMsg::kind`
`MgmtKind kind() const noexcept override`
## `JobFinishedMsg::JobFinishedMsg`
`explicit JobFinishedMsg(FlowId fid, Time t) noexcept : flow_id(fid), finished_at(t)`
## `JobFinishedMsg::kind`
`MgmtKind kind() const noexcept override`
## `MgmtMsg::kind`
`virtual MgmtKind kind() const noexcept = 0`
## `MgmtMsg::~MgmtMsg`
`virtual ~MgmtMsg() = default`