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
56 files changed
tree: 3be0c32ca2f5b89c99525b2901ea61183b7131a9
  1. .waf-tools/
  2. docs/
  3. examples/
  4. src/
  5. tests/
  6. tests-integrated/
  7. tools/
  8. .gitignore
  9. .travis.yml
  10. AUTHORS
  11. CHANGELOG
  12. COPYING
  13. INSTALL.md
  14. libndn-cpp-dev.pc.in
  15. README.md
  16. waf
  17. wscript
README.md

ndn-cpp-dev: A dev version of Named Data Networking client library for C++

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