#include <stdlib.h>
#include <string.h>
-using namespace boost;
+using boost::lock_guard;
+using boost::recursive_mutex;
namespace pv {
namespace data {
free(_data);
}
-uint64_t Snapshot::get_sample_count()
+uint64_t Snapshot::get_sample_count() const
{
lock_guard<recursive_mutex> lock(_mutex);
return _sample_count;
}
+int Snapshot::unit_size() const
+{
+ return _unit_size;
+}
+
void Snapshot::append_data(void *data, uint64_t samples)
{
lock_guard<recursive_mutex> lock(_mutex);
- _data = realloc(_data, (_sample_count + samples) * _unit_size);
+ _data = realloc(_data, (_sample_count + samples) * _unit_size +
+ sizeof(uint64_t));
memcpy((uint8_t*)_data + _sample_count * _unit_size,
data, samples * _unit_size);
_sample_count += samples;