# hosts/publisher.h
## `Publisher::Pending::arm_staging_if_needed`
`void arm_staging_if_needed() noexcept`
## `Publisher::Pending::on_staging_timer`
`void on_staging_timer() noexcept`
## `Publisher::Publisher`
`Publisher(Simulator *sim, NodeId id, Time update_latency_base, std::unique_ptr<PubBasePolicy> policy, Time mgmt_latency) noexcept`
## `Publisher::bytes_out`
`uint64_t bytes_out() const noexcept`
## `Publisher::recv_flow`
`virtual void recv_flow(NodeId src, FlowId flow, FlowPriority prio, Bytes flow_size) override`
## `Publisher::recv_frame`
`virtual void recv_frame(const Packet &frame) override`
## `Publisher::recv_mgmt_msg`
`virtual void recv_mgmt_msg(MgmtMsgPtr msg) noexcept override`
## `Publisher::recv_update`
`void recv_update(Bytes size, PacketGroups update_groups_mask) noexcept`
## `Publisher::set_status`
`void set_status(NodeStatus s, Time new_latency = Time{}) noexcept`
## `Publisher::updates_in`
`uint64_t updates_in() const noexcept`
## `arm_staging_if_needed`
`void arm_staging_if_needed() noexcept;`
## `on_staging_timer`
`void on_staging_timer() noexcept;`