Task that performs a full address dump from the kernel.
More...
#include <nl_address_dump_task.hxx>
|
| void | build_request (uint16_t msg_flags=NLM_F_REQUEST|NLM_F_DUMP, uint8_t address_family=RTN_UNSPEC, uint8_t prefixlen=0, uint8_t ifa_flags=0, uint8_t scope=RT_SCOPE_UNIVERSE) |
| auto | socket () noexcept -> Socket & |
| auto | sequence () const noexcept -> uint32_t |
| auto | ifindex () const noexcept -> uint16_t |
| AddressRequest | request_ |
Task that performs a full address dump from the kernel.
Sends an RTM_GETADDR dump request and accumulates AddressEvents as responses are received. The task completes when an NLMSG_DONE message is encountered and returns the collected AddressEventList or an error.
◆ AddressDumpTask()
| llmx::rtaco::AddressDumpTask::AddressDumpTask |
( |
SocketGuard & | socket_guard, |
|
|
std::pmr::memory_resource * | pmr, |
|
|
uint16_t | ifindex, |
|
|
uint32_t | sequence ) |
|
noexcept |
Construct an AddressDumpTask.
- Parameters
-
| socket_guard | Reference to the socket guard used for sending and receiving netlink requests. |
| pmr | Memory resource used for allocations of the returned event list. |
| ifindex | Interface index to target (0 = all interfaces). |
| sequence | Netlink message sequence number for requests. |
◆ dispatch_address()
| auto llmx::rtaco::AddressDumpTask::dispatch_address |
( |
const nlmsghdr & | header | ) |
-> std::optional< std::expected< AddressEventList, std::error_code > > |
|
private |
◆ handle_done()
| auto llmx::rtaco::AddressDumpTask::handle_done |
( |
| ) |
-> std::expected< AddressEventList, std::error_code > |
|
private |
◆ handle_error()
| auto llmx::rtaco::AddressDumpTask::handle_error |
( |
const nlmsghdr & | header | ) |
-> std::expected< AddressEventList, std::error_code > |
|
private |
◆ prepare_request()
| void llmx::rtaco::AddressDumpTask::prepare_request |
( |
| ) |
|
Prepare the netlink request to perform an address dump.
◆ process_message()
| auto llmx::rtaco::AddressDumpTask::process_message |
( |
const nlmsghdr & | header | ) |
-> std::optional< std::expected< AddressEventList, std::error_code > > |
Process a received netlink message for address dump responses.
- Parameters
-
| header | Reference to the received netlink message header. |
- Returns
- Optional expected containing the accumulated AddressEventList on completion, or an error_code on failure.
◆ learned_
The documentation for this class was generated from the following files: