21 #ifndef BM_BM_SIM_AGEING_H_
22 #define BM_BM_SIM_AGEING_H_
27 #include "device_id.h"
29 #include "transport.h"
33 class MatchTableAbstract;
35 class AgeingMonitorIface {
40 s_device_id_t switch_id;
44 unsigned int num_entries;
45 } __attribute__((packed));
47 virtual ~AgeingMonitorIface() { }
49 virtual void add_table(MatchTableAbstract *table) = 0;
51 virtual void set_sweep_interval(
unsigned int ms) = 0;
53 virtual unsigned int get_sweep_interval() = 0;
55 virtual void reset_state() = 0;
62 virtual std::string get_table_name_from_id(p4object_id_t
id)
const = 0;
64 static std::unique_ptr<AgeingMonitorIface> make(
65 device_id_t device_id, cxt_id_t cxt_id,
66 std::shared_ptr<TransportIface> writer,
67 unsigned int sweep_interval_ms = 1000u);
72 #endif // BM_BM_SIM_AGEING_H_