NetworkTaskRunner class final
#include <net/network_task_runner.hpp>
Generic networking task runner.
Drives lwIP init, netif apply, downlink packet injection, and one-time PPPoS init.
Public static variables
- static size_t kMaxEthernetLikeInterfaces constexpr
- static size_t kMaxIfaceNameBytes constexpr
Constructors, destructors, conversion operators
-
NetworkTaskRunner(INetworkConfigProvider& config_provider,
Ipv4LinkAdapter& ipv4_link_adapter,
parp::
IParpRoutePolicyProvider* parp_route_policy_provider = nullptr, std::span<const EthernetLikeRuntimeBinding> eth_like_runtimes = {}, pool:: Ipv4PoolManager* pool_manager = nullptr, dhcps:: DhcpServerManager* dhcp_server_manager = nullptr, prf:: system:: ITaskHeartbeatSink* task_heartbeat_sink = nullptr, prf:: system:: TaskHealthTaskId task_id = prf:: system:: TaskHealthTaskId:: Network) - Constructs network task runner.
Public functions
- void run()
- Runs networking task loop forever.
- auto runtime_binding_count_for_test() const -> size_t
- Test hook: number of runtime bindings accepted by constructor.
- auto runtime_binding_name_for_test(const size_t index) const -> std::string_view
- Test hook: returns stored interface name for accepted runtime binding.
- auto runtime_registry_invalid_for_test() const -> bool
- Test hook: returns true when constructor rejected runtime registry input.
Function documentation
prf:: net:: NetworkTaskRunner:: NetworkTaskRunner(INetworkConfigProvider& config_provider,
Ipv4LinkAdapter& ipv4_link_adapter,
parp:: IParpRoutePolicyProvider* parp_route_policy_provider = nullptr,
std::span<const EthernetLikeRuntimeBinding> eth_like_runtimes = {},
pool:: Ipv4PoolManager* pool_manager = nullptr,
dhcps:: DhcpServerManager* dhcp_server_manager = nullptr,
prf:: system:: ITaskHeartbeatSink* task_heartbeat_sink = nullptr,
prf:: system:: TaskHealthTaskId task_id = prf:: system:: TaskHealthTaskId:: Network)
Constructs network task runner.
| Parameters | |
|---|---|
| config_provider | Source of current network addressing/configuration. |
| ipv4_link_adapter | Packet bridge between transport stack and radio runtime. |
| parp_route_policy_provider | |
| eth_like_runtimes | |
| pool_manager | |
| dhcp_server_manager | |
| task_heartbeat_sink | |
| task_id | |
void prf:: net:: NetworkTaskRunner:: run()
Runs networking task loop forever.
The loop initializes lwIP, applies config revisions, forwards downlink traffic to lwIP input, and starts PPPoS exactly once when config becomes valid. This method never returns.