| 2245 | |
| 2246 | private: |
| 2247 | void SendProgress_(const T *data, size_t count) { |
| 2248 | T *new_data = new T[count]; |
| 2249 | std::copy(data, data + count, new_data); |
| 2250 | |
| 2251 | uv_mutex_lock(&this->async_lock); |
| 2252 | T *old_data = asyncdata_; |
| 2253 | asyncdata_ = new_data; |
| 2254 | asyncsize_ = count; |
| 2255 | uv_async_send(&this->async); |
| 2256 | uv_mutex_unlock(&this->async_lock); |
| 2257 | |
| 2258 | delete[] old_data; |
| 2259 | } |
| 2260 | |
| 2261 | T *asyncdata_; |
| 2262 | size_t asyncsize_; |