diff --git a/streaming_recording_backend.cpp b/streaming_recording_backend.cpp index 6b5cac34341ee95691245f6c2d89f1889f4acbeb..491b722a656bbe4378d6e412c342b4abaf94f297 100644 --- a/streaming_recording_backend.cpp +++ b/streaming_recording_backend.cpp @@ -132,9 +132,7 @@ void StreamingRecordingBackend::write(const nest::RecordingDevice &device, } else if (device.get_type() == nest::RecordingDevice::Type::SPIKE_DETECTOR) { auto spike_detector = static_cast<nesci::producer::SpikeDetector *>(nesci_device.get()); - nesci::producer::SpikeDetector::Datum datum{event.get_stamp().get_ms(), - event.get_sender_gid()}; - spike_detector->Record(datum); + spike_detector->Record(event.get_stamp().get_ms(), event.get_sender_gid()); } else { std::cerr << "Error: no device registered for `" << device.get_name() << '`' << std::endl; @@ -151,12 +149,13 @@ void StreamingRecordingBackend::synchronize() { for (const auto &device : thread_devices->second) { const auto node = device.second->node(); - // TODO: check if node is empty - { - std::lock_guard<std::mutex> lock_guard(relay_mutex_); - relay_.Send(node, false); + if (device.second->GetRecordCount() > 0) { + { + std::lock_guard<std::mutex> lock_guard(relay_mutex_); + relay_.Send(node, false); + } + device.second->Clear(); } - device.second->Clear(); } }