Removes data from buffer
| 79 | |
| 80 | // Removes data from buffer |
| 81 | size_t DataBuffer::get_data (size_t max_count, double *data_buf) |
| 82 | { |
| 83 | lock.lock (); |
| 84 | size_t result_count = max_count; |
| 85 | if (result_count > count) |
| 86 | { |
| 87 | result_count = count; |
| 88 | } |
| 89 | if (result_count) |
| 90 | { |
| 91 | get_chunk (first_used, result_count, data_buf); |
| 92 | first_used = (first_used + result_count) % buffer_size; |
| 93 | count -= result_count; |
| 94 | } |
| 95 | lock.unlock (); |
| 96 | return result_count; |
| 97 | } |
| 98 | |
| 99 | // Doesn't remove data from buffer |
| 100 | size_t DataBuffer::get_current_data (size_t max_count, double *data_buf) |