VOM: logging, populate and stats fixes
logging: allow a client to register a callback handler to recieve log messages
that way the client can maintain a correctly sequenced log
populate: fix the creation of interface and the setting of the handle
stats: the reset promise idea is not defined behaviour.
Use an eanble/disable command pair
Change-Id: I347720bb65df2874c7619e722d593bc863ee2bf1
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
diff --git a/src/vpp-api/vom/interface.hpp b/src/vpp-api/vom/interface.hpp
index 8cba2fa..da0db40 100644
--- a/src/vpp-api/vom/interface.hpp
+++ b/src/vpp-api/vom/interface.hpp
@@ -31,7 +31,7 @@
* Forward declaration of the stats and events command
*/
namespace interface_cmds {
-class stats_cmd;
+class stats_enable_cmd;
class events_cmd;
};
@@ -390,7 +390,8 @@
* Virtual function called on the listener when the command has data
* ready to process
*/
- virtual void handle_interface_stat(interface_cmds::stats_cmd* cmd) = 0;
+ virtual void handle_interface_stat(
+ interface_cmds::stats_enable_cmd* cmd) = 0;
/**
* Return the HW::item representing the status
@@ -426,13 +427,10 @@
protected:
/**
- * Construct an interface object with a handle and a HW address
+ * Set the handle of an interface object. Only called by the interface
+ * factory during the populate
*/
- interface(const handle_t& handle,
- const l2_address_t& l2_address,
- const std::string& name,
- type_t type,
- admin_state_t state);
+ void set(const handle_t& handle);
friend class interface_factory;
/**
@@ -560,7 +558,7 @@
/**
* shared pointer to the stats object for this interface.
*/
- std::shared_ptr<interface_cmds::stats_cmd> m_stats;
+ std::shared_ptr<interface_cmds::stats_enable_cmd> m_stats;
/**
* The state of the interface