5#include <memory_resource>
10#include <linux/if_addr.h>
11#include <linux/netlink.h>
52 -> std::optional<std::expected<AddressEventList, std::error_code>>;
55 auto handle_done() -> std::expected<AddressEventList, std::error_code>;
58 -> std::expected<AddressEventList, std::error_code>;
61 -> std::optional<std::expected<AddressEventList, std::error_code>>;
auto handle_done() -> std::expected< AddressEventList, std::error_code >
Definition nl_address_dump_task.cxx:46
AddressEventList learned_
Definition nl_address_dump_task.hxx:28
void prepare_request()
Prepare the netlink request to perform an address dump.
Definition nl_address_dump_task.cxx:28
AddressDumpTask(SocketGuard &socket_guard, std::pmr::memory_resource *pmr, uint16_t ifindex, uint32_t sequence) noexcept
Construct an AddressDumpTask.
Definition nl_address_dump_task.cxx:23
auto process_message(const nlmsghdr &header) -> std::optional< std::expected< AddressEventList, std::error_code > >
Process a received netlink message for address dump responses.
Definition nl_address_dump_task.cxx:32
auto dispatch_address(const nlmsghdr &header) -> std::optional< std::expected< AddressEventList, std::error_code > >
Definition nl_address_dump_task.cxx:63
auto handle_error(const nlmsghdr &header) -> std::expected< AddressEventList, std::error_code >
Definition nl_address_dump_task.cxx:50
Base task type for address-related netlink operations.
Definition nl_address_task.hxx:26
auto ifindex() const noexcept -> uint16_t
Definition nl_request_task.hxx:93
auto sequence() const noexcept -> uint32_t
Definition nl_request_task.hxx:89
Thread-safe guard owning a labeled Socket.
Definition nl_socket_guard.hxx:25
Definition nl_common.hxx:21
std::pmr::vector< AddressEvent > AddressEventList
Definition nl_address_event.hxx:60
Definition nl_common.hxx:20