Time: Add setTick and getTick functions to the Time class.
This commit is contained in:
parent
a368fba7d4
commit
23bab6783b
2 changed files with 28 additions and 0 deletions
|
@ -33,6 +33,7 @@
|
|||
|
||||
#include "base/time.hh"
|
||||
#include "config/use_posix_clock.hh"
|
||||
#include "sim/core.hh"
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -48,6 +49,19 @@ Time::_set(bool monotonic)
|
|||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
Time::setTick(Tick ticks)
|
||||
{
|
||||
uint64_t nsecs = ticks / SimClock::Int::ns;
|
||||
set(nsecs / NSEC_PER_SEC, nsecs % NSEC_PER_SEC);
|
||||
}
|
||||
|
||||
Tick
|
||||
Time::getTick() const
|
||||
{
|
||||
return (nsec() + sec() * NSEC_PER_SEC) * SimClock::Int::ns;
|
||||
}
|
||||
|
||||
string
|
||||
Time::date(const string &format) const
|
||||
{
|
||||
|
|
|
@ -42,6 +42,8 @@
|
|||
#include <iosfwd>
|
||||
#include <string>
|
||||
|
||||
#include "base/types.hh"
|
||||
|
||||
class Time
|
||||
{
|
||||
protected:
|
||||
|
@ -99,6 +101,18 @@ class Time
|
|||
*/
|
||||
void set(time_t _sec, long _nsec) { sec(_sec); nsec(_nsec); }
|
||||
|
||||
/**
|
||||
* Set the current time from a value measured in Ticks
|
||||
* @param ticks Number of ticks to convert into a time.
|
||||
*/
|
||||
void setTick(Tick ticks);
|
||||
|
||||
/**
|
||||
* Get the current time from a value measured in Ticks
|
||||
* @return Time value measured in Ticks.
|
||||
*/
|
||||
Tick getTick() const;
|
||||
|
||||
const Time &
|
||||
operator=(const Time &other)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue