9 #include <satcat5/eth_dispatch.h>
31 void close()
override;
32 bool ready()
const override;
42 {
return m_iface->macaddr(); }
48 {
return {m_addr, srcmac(), m_type, m_vtag}; }
Inheritable container for a eth::Address.
Send packets to a specific Ethernet address.
bool ready() const override
Is this address object ready for use? Child MUST override this method.
void close() override
Close any open connections and revert to idle.
void save_reply_address() override
Bind this Address object to the parent interface's current reply address, as provided in net::Dispatc...
bool reply_is_multicast() const override
Was the parent interface's incoming message sent to a multicast address? (i.e., Could that message ha...
satcat5::net::Dispatch * iface() const override
Fetch a pointer to the underlying interface.
void connect(const satcat5::eth::MacAddr &addr, const satcat5::eth::MacType &type, const satcat5::eth::VlanTag &vtag=satcat5::eth::VTAG_NONE)
Connect to the designated address.
satcat5::io::Writeable * open_write(unsigned len) override
Open a new frame to the designated address and type.
bool matches_reply_address() const override
Does this Address object match the parent interface's current reply address? Multicast destinations s...
bool is_multicast() const override
Is the destination a broadcast or multicast address? Child MUST override these method.
Address(satcat5::eth::Dispatch *iface)
Link this object to a network interface.
Implemention of "net::Dispatch" for Ethernet frames.
Abstract API for writing byte-streams and packets.
Defines a generic API for sending data to a specific destination, such as a MAC address,...
The "Dispatch" is a generic interface that knows how to read a designated protocol layer and sort inc...
Generic network Address API.
An Ethernet MAC address (with serializable interface).
EtherType field (uint16) is used a protocol-ID [1536..65535].
Header contents for an 802.1Q Virtual-LAN tag.