@@ -115,6 +115,34 @@ class RTC_LOCKABLE RTC_EXPORT TaskQueue {
115
115
void PostTask (Closure&& closure) {
116
116
PostTask (webrtc::ToQueuedTask (std::forward<Closure>(closure)));
117
117
}
118
+ template <class Closure ,
119
+ typename std::enable_if<!std::is_convertible<
120
+ Closure,
121
+ std::unique_ptr<webrtc::QueuedTask>>::value>::type* = nullptr >
122
+ void PostDelayedTask (Closure&& closure, uint32_t milliseconds) {
123
+ PostDelayedTask (webrtc::ToQueuedTask (std::forward<Closure>(closure)),
124
+ milliseconds);
125
+ }
126
+ template <class Closure ,
127
+ typename std::enable_if<!std::is_convertible<
128
+ Closure,
129
+ std::unique_ptr<webrtc::QueuedTask>>::value>::type* = nullptr >
130
+ void PostDelayedHighPrecisionTask (Closure&& closure, uint32_t milliseconds) {
131
+ PostDelayedHighPrecisionTask (
132
+ webrtc::ToQueuedTask (std::forward<Closure>(closure)), milliseconds);
133
+ }
134
+ template <class Closure ,
135
+ typename std::enable_if<!std::is_convertible<
136
+ Closure,
137
+ std::unique_ptr<webrtc::QueuedTask>>::value>::type* = nullptr >
138
+ void PostDelayedTaskWithPrecision (
139
+ webrtc::TaskQueueBase::DelayPrecision precision,
140
+ Closure&& closure,
141
+ uint32_t milliseconds) {
142
+ PostDelayedTaskWithPrecision (
143
+ precision, webrtc::ToQueuedTask (std::forward<Closure>(closure)),
144
+ milliseconds);
145
+ }
118
146
119
147
private:
120
148
webrtc::TaskQueueBase* const impl_;
0 commit comments