Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chrono cleanup #1190

Closed
5 tasks done
K-ballo opened this issue Jul 11, 2014 · 1 comment
Closed
5 tasks done

Chrono cleanup #1190

K-ballo opened this issue Jul 11, 2014 · 1 comment

Comments

@K-ballo
Copy link
Member

K-ballo commented Jul 11, 2014

Our code base currently supports both boost::posix_time and boost::chrono, forwarding the later to the former. We should remove support for boost::posix_time and build on top of boost::chrono (and some day std::chrono).

Some thoughts on the subject:

  • Examples and unit tests should be updated to use the chrono interfaces.
  • All functionality should be implemented on top of chrono::steady_clock, since operations should not be affected by system clock changes.
  • Instead of having multiple implementations, there should be a single implementation in terms of chrono::steady_clock::time_point. The interface should support arbitrary durations and time-points (including our take on executors).
  • Timed operations shall not do any non-trivial operation (holding a lock, allocating memory, etc) when the given timeout has already expired.
  • Add support for std::chrono, forwarding/converting to boost::chrono.
@K-ballo K-ballo self-assigned this Jul 11, 2014
@hkaiser hkaiser added this to the 0.9.9 milestone Jul 12, 2014
@hkaiser hkaiser modified the milestones: 0.9.10, 0.9.9 Sep 13, 2014
@K-ballo
Copy link
Member Author

K-ballo commented Sep 25, 2014

Turns up there's not much to do on timed operations with expired timeouts, as we need to suspend/yield anyways.

@K-ballo K-ballo closed this as completed Sep 25, 2014
@hkaiser hkaiser modified the milestones: 0.9.9, 0.9.10 Oct 31, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants