changeset 7cb62588fcdc in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=7cb62588fcdc
description:
        Time: Add serialization functions to the Time class.

diffstat:

 src/base/time.cc |  20 ++++++++++++++++++++
 src/base/time.hh |   7 +++++++
 2 files changed, 27 insertions(+), 0 deletions(-)

diffs (65 lines):

diff -r e9edb137c872 -r 7cb62588fcdc src/base/time.cc
--- a/src/base/time.cc  Wed Feb 02 18:03:58 2011 -0800
+++ b/src/base/time.cc  Wed Feb 02 18:05:03 2011 -0800
@@ -34,6 +34,7 @@
 #include "base/time.hh"
 #include "config/use_posix_clock.hh"
 #include "sim/core.hh"
+#include "sim/serialize.hh"
 
 using namespace std;
 
@@ -114,6 +115,25 @@
 }
 
 void
+Time::serialize(const std::string &base, ostream &os)
+{
+    paramOut(os, base + ".sec", sec());
+    paramOut(os, base + ".nsec", nsec());
+}
+
+void
+Time::unserialize(const std::string &base, Checkpoint *cp,
+                  const string &section)
+{
+    time_t secs;
+    time_t nsecs;
+    paramIn(cp, section, base + ".sec", secs);
+    paramIn(cp, section, base + ".nsec", nsecs);
+    sec(secs);
+    nsec(nsecs);
+}
+
+void
 sleep(const Time &time)
 {
     timespec ts = time;
diff -r e9edb137c872 -r 7cb62588fcdc src/base/time.hh
--- a/src/base/time.hh  Wed Feb 02 18:03:58 2011 -0800
+++ b/src/base/time.hh  Wed Feb 02 18:05:03 2011 -0800
@@ -40,10 +40,13 @@
 #include <cstring>
 #include <ctime>
 #include <iosfwd>
+#include <iostream>
 #include <string>
 
 #include "base/types.hh"
 
+class Checkpoint;
+
 class Time
 {
   protected:
@@ -195,6 +198,10 @@
 
     std::string date(const std::string &format = "") const;
     std::string time() const;
+
+    void serialize(const std::string &base, std::ostream &os);
+    void unserialize(const std::string &base, Checkpoint *cp,
+                     const std::string &section);
 };
 
 void sleep(const Time &time);
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to