# core/host.h ## `Host::Host` `Host(Simulator *const sim, NodeId id) noexcept` Binds a host to a simulator under the `NodeId` id. ## `Host::Host` `Host(const Host &) = delete` Binds a host to a simulator under the `NodeId` id. ## `Host::attach_nic` `void attach_nic(NetworkNic *nic) noexcept` Attaches a `NetworkNic` to the host. ## `Host::detach_nic` `void detach_nic(NetworkNic *nic) noexcept` Detaches a `NetworkNic` to the host. ## `Host::nic` `NetworkNic *nic() const noexcept` ## `Host::operator=` `Host &operator=(const Host &) = delete` ## `Host::recv_flow` `virtual void recv_flow(NodeId src, FlowId flow, FlowPriority priority, Bytes flow_size) = 0` ## `Host::recv_frame` `virtual void recv_frame(const Packet &frame) = 0` ## `Host::recv_mgmt_msg` `virtual void recv_mgmt_msg(std::unique_ptr msg) = 0` ## `Host::~Host` `virtual ~Host() = default`