SatCat5
satcat5::router2::DeferFwdStatic< SIZE > Class Template Referencefinal

Detailed Description

template<unsigned SIZE = SATCAT5_MBUFF_RXPKT>
class satcat5::router2::DeferFwdStatic< SIZE >

Implement DeferFwd with static memory allocation.

See also
satcat5::router2::DeferFwd

Definition at line 100 of file router2_deferfwd.h.

#include <router2_deferfwd.h>

Inheritance diagram for satcat5::router2::DeferFwdStatic< SIZE >:
[legend]
Collaboration diagram for satcat5::router2::DeferFwdStatic< SIZE >:
[legend]

Public Member Functions

 DeferFwdStatic (satcat5::router2::Dispatch *parent)
 Constructor links the parent interface and the backing array.
 
bool accept (const satcat5::eth::PluginPacket &meta)
 Accept this packet into the queue?
 
virtual void gateway_change (const satcat5::ip::Addr &dstaddr, const satcat5::ip::Addr &gateway)
 Callback for changes to gateway configuration. More...
 
void timer_once (unsigned msec)
 Configure a one-time notification after X milliseconds.
 
void timer_every (unsigned msec)
 Configure a repeating notification every X milliseconds.
 
void timer_stop ()
 Stop all future notifications.
 
unsigned timer_interval () const
 Accessor for recurring timer interval, if one is set.
 
unsigned timer_remaining () const
 Accessor for time to next event, if one is set.
 

Static Public Member Functions

static unsigned count_timer ()
 Count all objects of this type, including idle timers.
 

Protected Member Functions

void arp_event (const satcat5::eth::MacAddr &mac, const satcat5::ip::Addr &ip) override
 Callback for any announced MAC/IP address pair. More...
 
void timer_event () override
 Child class MUST override this method.
 
satcat5::router2::DeferPktrequest_arp (satcat5::router2::DeferPkt *pkt)
 
satcat5::router2::DeferPktrequest_fwd (satcat5::router2::DeferPkt *pkt, const satcat5::eth::MacAddr &dst)
 

Protected Attributes

satcat5::router2::DeferPkt m_buff [SIZE]
 
satcat5::router2::Dispatch *const m_parent
 
satcat5::eth::ProtoArpm_arp
 
satcat5::util::TimeVal m_tref
 
satcat5::util::List< satcat5::router2::DeferPktm_active
 
satcat5::util::List< satcat5::router2::DeferPktm_empty
 

Private Member Functions

void query (unsigned elapsed_msec)
 

Private Attributes

satcat5::eth::ArpListenerm_next
 
unsigned m_trem
 
unsigned m_tnext
 

Member Function Documentation

◆ arp_event()

void DeferFwd::arp_event ( const satcat5::eth::MacAddr mac,
const satcat5::ip::Addr ip 
)
overrideprotectedvirtualinherited

Callback for any announced MAC/IP address pair.

Child class MUST override this method.

Implements satcat5::eth::ArpListener.

Definition at line 84 of file router2_deferfwd.cc.

◆ gateway_change()

virtual void satcat5::eth::ArpListener::gateway_change ( const satcat5::ip::Addr dstaddr,
const satcat5::ip::Addr gateway 
)
inlinevirtualinherited

Callback for changes to gateway configuration.

Child class MAY override this method.

Reimplemented in satcat5::ip::Address, and satcat5::test::CountArpResponse.

Definition at line 56 of file eth_arp.h.


The documentation for this class was generated from the following file: