#include "base/time.hh"
#include "mem/mem_object.hh"
#include "params/CommMonitor.hh"
+#include "proto/protoio.hh"
/**
* The communication monitor is a MemObject which can monitor statistics of
CommMonitor(Params* params);
/** Destructor */
- ~CommMonitor() { }
+ ~CommMonitor() {}
+
+ /**
+ * Callback to flush and close all open output streams on exit. If
+ * we were calling the destructor it could be done there.
+ */
+ void closeStreams();
virtual BaseMasterPort& getMasterPort(const std::string& if_name,
PortID idx = InvalidPortID);
/** Instantiate stats */
MonitorStats stats;
+
+ /** Output stream for a potential trace. */
+ ProtoOutputStream* traceStream;
};
#endif //__MEM_COMM_MONITOR_HH__