mozilla :: #media

25 Apr 2017
04:19jesupgcp: I suspect strongly we can reimplement base/task_queue* to use mozilla::TaskQueue. base/task_queue says &quot;Implements a task queue that asynchronously executes tasks in a way that guarantees that they&#39;re executed in FIFO order and that tasks never overlap. Tasks may always execute on the same worker thread and they may not.&quot; Fundamentally it provides 3 base methods: PostTask(std::unique_ptr<Q
04:19jesupueuedTask> task), PostTaskAndReply(std::unique_ptr<QueuedTask> task, std::unique_ptr<QueuedTask> reply, optional TaskQueue *queue), and PostDelayedTask(std::unique_ptr<QueuedTask> task, uint32_t milliseconds).
04:19jesupThen we don&#39;t need libevent.... :-)
04:21jesupMy biggest concern is around the semantics of TaskQueue creation and deletion (for example base/task_queue.h states that if you delete the TaskQueue, pending QueuedTasks will be deleted and not run, and I don&#39;t know if that&#39;s the case for mozilla::TaskQueue)
04:23jesupjya: thoughts? ^ base/task_queue is here: QueuedTask has some differences in ownership model from Runnables, but could be dealt with
04:23* jesup needs to crash
04:45jesupjya: if we do that, to avoid rolling-our-own we probably will want to implement SharedThreadPool::DelayedDispatch() (defined, but NS_ERROR_NOT_IMPLEMENTED right now)
25 Apr 2017
Last message: 5 minutes and 59 seconds ago