fixed bug in attaching nics to hosts, changed documentation format and generator (buggy but usable)
This commit is contained in:
@@ -1,19 +1,15 @@
|
||||
# hosts/mgmt_msg.h
|
||||
|
||||
## class MgmtMsg — public interface
|
||||
|
||||
### `virtual ~MgmtMsg() = default;`
|
||||
|
||||
## class HeartbeatMsg — public interface
|
||||
|
||||
### `: subscriber_id(sid), status(st), generated_at(t) { ... }`
|
||||
### `MgmtKind kind() const noexcept override { ... }`
|
||||
|
||||
## class JobFinishedMsg — public interface
|
||||
|
||||
### `: flow_id(fid), finished_at(t) { ... }`
|
||||
### `MgmtKind kind() const noexcept override { ... }`
|
||||
|
||||
## class EndSimulationMsg — public interface
|
||||
|
||||
### `MgmtKind kind() const noexcept override { ... }`
|
||||
## `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`
|
||||
@@ -1,20 +1,13 @@
|
||||
# hosts/policies.h
|
||||
|
||||
## class PubBasePolicy — public interface
|
||||
|
||||
### `virtual ~PubBasePolicy() = default;`
|
||||
|
||||
## class PubRRPolicy — public interface
|
||||
|
||||
### `: _ranges(std::move(ranges)) { ... }`
|
||||
### `validate_and_build();`
|
||||
### `PacketGroups select_multicast_groups(PacketGroups update_groups_mask) override { ... }`
|
||||
### `for (auto const& r : _ranges) { ... }`
|
||||
|
||||
## class SubBasePolicy — public interface
|
||||
|
||||
### `virtual ~SubBasePolicy() = default;`
|
||||
|
||||
## class SubDummyPolicy — public interface
|
||||
|
||||
### `~SubDummyPolicy() override = default;`
|
||||
## `PubBasePolicy::select_multicast_groups`
|
||||
`virtual PacketGroups select_multicast_groups(PacketGroups update_groups_mask) = 0`
|
||||
## `PubBasePolicy::~PubBasePolicy`
|
||||
`virtual ~PubBasePolicy() = default`
|
||||
## `PubRRPolicy::PubRRPolicy`
|
||||
`explicit PubRRPolicy(std::vector<ReplicaRange> ranges) : _ranges(std::move(ranges))`
|
||||
## `PubRRPolicy::select_multicast_groups`
|
||||
`PacketGroups select_multicast_groups(PacketGroups update_groups_mask) override`
|
||||
## `group_present`
|
||||
`static bool group_present(PacketGroups mask, uint32_t gid) noexcept{`
|
||||
## `validate_and_build`
|
||||
`void validate_and_build(){`
|
||||
@@ -1,10 +1,25 @@
|
||||
# hosts/publisher.h
|
||||
|
||||
## class Publisher — public interface
|
||||
|
||||
### `void recv_update(Bytes size, PacketGroups update_groups_mask) noexcept;`
|
||||
### `void set_status(NodeStatus s, Time new_latency = Time{}) noexcept;`
|
||||
### `virtual void recv_mgmt_msg(MgmtMsgPtr msg) noexcept override;`
|
||||
### `virtual void recv_frame(const Packet& frame) override;`
|
||||
### `uint64_t updates_in() const noexcept { ... }`
|
||||
### `uint64_t bytes_out() const noexcept { ... }`
|
||||
## `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;`
|
||||
@@ -1,8 +1,19 @@
|
||||
# hosts/subscriber.h
|
||||
|
||||
## class Publisher — public interface
|
||||
|
||||
### `virtual void recv_mgmt_msg(MgmtMsgPtr msg) noexcept override;`
|
||||
### `void recv_frame(const Packet& frame) override;`
|
||||
### `void set_status(NodeStatus s) noexcept;`
|
||||
### `void set_publisher(Publisher* p) noexcept { ... }`
|
||||
## `Subscriber::Subscriber`
|
||||
`Subscriber(Simulator *sim, NodeId id, Publisher *publisher, std::unique_ptr<SubBasePolicy> policy, Time mgmt_latency, Time heartbeat_period) noexcept`
|
||||
## `Subscriber::recv_flow`
|
||||
`void recv_flow(NodeId src, FlowId flow, FlowPriority prio, Bytes flow_size) override`
|
||||
## `Subscriber::recv_frame`
|
||||
`void recv_frame(const Packet &frame) override`
|
||||
## `Subscriber::recv_mgmt_msg`
|
||||
`virtual void recv_mgmt_msg(MgmtMsgPtr msg) noexcept override`
|
||||
## `Subscriber::set_publisher`
|
||||
`void set_publisher(Publisher *p) noexcept`
|
||||
## `Subscriber::set_status`
|
||||
`void set_status(NodeStatus s) noexcept`
|
||||
## `dofs::on_heartbeat_timer`
|
||||
`void on_heartbeat_timer() noexcept;`
|
||||
## `dofs::schedule_next_heartbeat`
|
||||
`void schedule_next_heartbeat(Time delay) noexcept;`
|
||||
## `dofs::send_job_finished`
|
||||
`void send_job_finished(FlowId flow) noexcept;`
|
||||
Reference in New Issue
Block a user