commit | aa0e7dad62bf078ca122bb7b91c03a74825b9433 | [log] [tgz] |
---|---|---|
author | Alexander Afanasyev <alexander.afanasyev@ucla.edu> | Mon Mar 17 14:37:33 2014 -0700 |
committer | Alexander Afanasyev <alexander.afanasyev@ucla.edu> | Tue Mar 18 16:19:53 2014 -0700 |
tree | 3be0c32ca2f5b89c99525b2901ea61183b7131a9 | |
parent | 6e0c5a5e470795fa0f743366bfd400809ba1a001 [diff] |
all: Refactoring work with time using boost::chrono Now the library has two clocks: time::steady_clock and time::system_clock, following (boost|std)::chrono. In addition to standard now() method, the library contains several helpers to convert to/from UnixTimestamp (microsecond resolution) and IsoString (optional microsecond resolution). The IsoString conversions use boost::posix_time routines, since boost::chrono supports extended IO support only starting boost version 1.52 (Boost Chrono V2). This commit breaks compatibility with previous API. All time-related Data/Interest calls must explicitly use time units to specify FreshnessPeriod/InterestLifetime. Brief usage/conversion guide: - creation of time units does not support double/float types. If necessary to create time unit from double, ``ndn::duration<double>`` (for seconds) needs to be used instead. In some cases, this would also require ``ndn::duration_cast``, if the target is not ``ndn::nanoseconds``. - ndn::getNow, ndn::ndn_getNowMilliseconds, ndn::time::now are all removed in favor of the now() method in a specific clock: * time::system_clock::now(); * time::steady_clock::now(); - When necessary to convert system_clock::TimePoint to unix timestamp, ``time::toUnixTimestamp`` can be used. This method return number of milliseconds since UNIX epoch as ``ndn::time::milliseconds`` type. Use count() method to obtain number as an integral value. Change-Id: Icd688bc6766e008d60c3d2888173627874526e47 Refs: #1152
ndn-cpp-dev is a new implementation of a Named Data Networking client library written in C++.
ndn-cpp-dev is open source under a license described in the file COPYING. While the license does not require it, we really would appreciate it if others would share their contributions to the library if they are willing to do so under the same license.
See the file INSTALL for build and install instructions.
Please submit any bugs or issues to the ndn-cpp-dev issue tracker: http://redmine.named-data.net/projects/ndn-cpp-dev/issues