Subject: [boost] [GSoC] Scheduled Executors beta 1 release
From: Ian Forbes (ian.forbes_at_[hidden])
Date: 2014-07-24 21:57:39
I am working on implementing scheduled executors as part of GSoC 2014 and am ready to announce my beta 1 release.
For more information on my project please see my original proposal at www.cs.mcgill.ca/~iforbe
All my work is currently on this branch of boost.thread. https://github.com/BoostGSoC14/boost.thread.executors .
I have written a fairly extensive README about design and implementation on this page.
Basically a scheduled executor is an executor which guarantees that a certain task won't be run before a certain time point.
Its main use cases would be things such as periodically reloading a file, pushing updates, flushing data, and polling.
It has a thread safe priority queue that store tasks (currently std::function) along with a chrono::time_point.
The priority queue is ordered so that the task with the least time point (closest to time 0) is at the front.
There is an abstract class scheduled_executor that deals with all the enqueue methods to the executor. The ctor is protected. There are no virtual members.
There are 2 subclasses. scheduled_thread_pool and scheduling_adaptor. These add dequeuing logic to the scheduled_executor by means of a worker thread(s).
I'm mostly interested in people reading this part of the README: https://github.com/BoostGSoC14/boost.thread.executors#possible-changes--rfcs
This details possible changes that could be made and I would like some feedback on them as these items have both pros and cons.
Please provide your feedback and I will to my best to address your questions and concerns.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk