24 backend->SetTimeout(newTimeout);
Asio-backed platform-independent raw Ethernet transport.
Private packet-capture backend for complete Ethernet frames.
AsioEthernetSocket(asio::io_context &ioContext, const std::string &interface, std::uint16_t ethertype=0)
Construct an Ethernet transport for a network interface.
void Send(const std::vector< std::uint8_t > &frame) override
Send one complete Ethernet frame.
std::vector< std::uint8_t > Recv() override
Receive one complete Ethernet frame.
std::unique_ptr< EthernetPacketBackend > backend
Platform packet-access implementation.
void SetTimeout(std::chrono::milliseconds timeout) override
Set the receive timeout.
~AsioEthernetSocket() override
Destroy the Ethernet transport.
Private Ethernet packet backend used by AsioEthernetSocket.
std::unique_ptr< asio::io_context > ioContext
Shared ASIO context.