TraceGen::InputStream::InputStream(const std::string& filename)
: trace(filename)
+{
+ init();
+}
+
+void
+TraceGen::InputStream::init()
{
// Create a protobuf message for the header and read it from the stream
Message::PacketHeader header_msg;
if (!trace.read(header_msg)) {
- panic("Failed to read packet header from %s\n", filename);
+ panic("Failed to read packet header from trace\n");
if (header_msg.tick_freq() != SimClock::Frequency) {
- panic("Trace %s was recorded with a different tick frequency %d\n",
+ panic("Trace was recorded with a different tick frequency %d\n",
header_msg.tick_freq());
}
}
TraceGen::InputStream::reset()
{
trace.reset();
+ init();
}
bool
*/
void reset();
+ /**
+ * Check the trace header to make sure that it is of the right
+ * format.
+ */
+ void init();
+
/**
* Attempt to read a trace element from the stream,
* and also notify the caller if the end of the file