Skip to content

Commit

Permalink
get_current_time_us() never goes back now
Browse files Browse the repository at this point in the history
  • Loading branch information
wangyu- committed Apr 7, 2019
1 parent 07ad00f commit 6074dc3
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions common.cpp
Expand Up @@ -478,12 +478,31 @@ int get_sock_errno()
#endif


u64_t get_current_time_us()
{
static u64_t value_fix=0;
static u64_t largest_value=0;

u64_t raw_value=(u64_t)(ev_time()*1000*1000);

u64_t fixed_value=raw_value+value_fix;

if(fixed_value< largest_value)
{
value_fix+= largest_value- fixed_value;
}
else
{
largest_value=fixed_value;
}

//printf("<%lld,%lld,%lld>\n",raw_value,value_fix,raw_value + value_fix);
return raw_value + value_fix; //new fixed value
}

u64_t get_current_time()
{
//timespec tmp_time;
//clock_gettime(CLOCK_MONOTONIC, &tmp_time);
//return ((u64_t)tmp_time.tv_sec)*1000llu+((u64_t)tmp_time.tv_nsec)/(1000*1000llu);
return (u64_t)(ev_time()*1000);
return get_current_time_us()/1000;
}

u64_t pack_u64(u32_t a,u32_t b)
Expand Down

0 comments on commit 6074dc3

Please sign in to comment.