vppinfra: refactor clib_timebase_t
Add a clib_time_t * argument to clib_timebase_init(...), to encourage
client code to share the vlib_main_t's clib_time_t object.
Display the current day / date in GMT via the "show time" debug CLI.
Fix the test framework so it processes the new "show time" output format.
Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I5e52d57eb164b7cdb6355362d520df6928491711
diff --git a/src/vppinfra/time_range.h b/src/vppinfra/time_range.h
index 6dcd82d..993bf9c 100644
--- a/src/vppinfra/time_range.h
+++ b/src/vppinfra/time_range.h
@@ -28,12 +28,7 @@
typedef struct
{
/* provides f64 seconds since clib_time_init was called */
- clib_time_t clib_time;
- /*
- * time in f64 seconds since Thursday 1 Jan 1970 00:00:00 UTC
- * when clib_time_init was called
- */
- f64 time_zero;
+ clib_time_t *clib_time;
f64 timezone_offset;
f64 summer_offset;
clib_timebase_daylight_time_t daylight_time_type;
@@ -57,7 +52,8 @@
} clib_timebase_range_t;
void clib_timebase_init (clib_timebase_t * tb, i32 timezone_offset_in_hours,
- clib_timebase_daylight_time_t daylight_type);
+ clib_timebase_daylight_time_t daylight_type,
+ clib_time_t * clib_time);
void clib_timebase_time_to_components (f64 now,
clib_timebase_component_t * cp);
@@ -93,7 +89,7 @@
{
f64 now;
- now = tb->time_zero + clib_time_now (&tb->clib_time);
+ now = tb->clib_time->init_reference_time + clib_time_now (tb->clib_time);
now += tb->timezone_offset;
now += clib_timebase_summer_offset_fastpath (tb, now);