rocksdb/port
Dmitri Smirnov f14c3363e1 Make WinEnv::NowMicros return system time
Previous change for the function
  555ca3e7b7 (diff-bdc04e0404c2db4fd3ac5118a63eaa4a)
  made use of the QueryPerformanceCounter to return microseconds values that do not repeat
  as std::chrono::system_clock returned values that made auto_roll_logger_test fail.

 The interface documentation does not state that we need to return
 system time describing the return value as a number of microsecs since some
 moment in time. However, because on Linux it is implemented using gettimeofday
 various pieces of code (such as GenericRateLimiter) took advantage of that
 and make use of NowMicros() as a system timestamp. Thus the previous change
 broke rate_limiter_test on Windows.

 In addition, the interface name NowMicros() suggests that it is actually
 a timestamp so people use it as such.

 This change makes use of the new system call on Windows that returns
 system time with required precision. This change preserves the fix
 for  auto_roll_logger_test and fixes rate_limiter_test.

 Note that DBTest.RateLimitingTest still fails due to a separately reported issue.
2015-09-02 11:12:07 -07:00
..
win Make WinEnv::NowMicros return system time 2015-09-02 11:12:07 -07:00
README reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
dirent.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
likely.h cache SuperVersion in thread local storage to avoid mutex lock 2014-02-27 11:38:55 -08:00
port.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
port_example.h Deprecate AtomicPointer 2014-10-27 14:50:21 -07:00
port_posix.cc Move rate_limiter, write buffering, most perf context instrumentation and most random kill out of Env 2015-07-17 16:58:18 -07:00
port_posix.h s/NOEXCEPT/ROCKSDB_NOEXCEPT 2015-08-25 16:34:39 -07:00
stack_trace.cc Build for CYGWIN 2015-04-23 21:33:44 -07:00
stack_trace.h Print out stack trace in mac, too 2014-04-23 09:11:35 -04:00
sys_time.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
util_logger.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00

README

This directory contains interfaces and implementations that isolate the
rest of the package from platform details.

Code in the rest of the package includes "port.h" from this directory.
"port.h" in turn includes a platform specific "port_<platform>.h" file
that provides the platform specific implementation.

See port_posix.h for an example of what must be provided in a platform
specific header file.