Modernize synapse-cpp client (v2.0.0-rc1)#25
Merged
Conversation
BREAKING CHANGE: Major API and architecture update Streaming: - Replace NDTP with Taps for high-throughput ZMQ-based data streaming - Remove StreamIn/StreamOut nodes - Add Tap client with producer/consumer support Nodes: - Add DiskWriter node for HDF5 recording - Add SpikeBinner node for spike binning - Rename SpikeDetect → SpikeDetector (API alignment) - Remove UdpNode base class Device: - Add query(), get_logs(), update_settings(), list_apps() methods - Remove NodeSocket (deprecated in synapse-api) Build: - Add Dockerfile for containerized ARM/x86 builds - Replace libndtp with cppzmq dependency - Update to latest synapse-api Misc: - Modernize device discovery with async support - Update examples with new Tap-based streaming
emmazhou
approved these changes
Jan 21, 2026
emmazhou
left a comment
There was a problem hiding this comment.
lol this one I'm more than happy to rubber stamp but maybe give @calvinleng-science a chance to review if he wants?
i've never seen this repo before, didnt even know we had a c++ client. i can review it tomorrow if you guys want--pretty focused getting something else working right now |
Contributor
Author
|
@calvinleng-science I don't think this affects you actually; this is a Nexus thing. The headstages don't use this since the synapse apps aren't a client (the Apps SDK is separate). |
The build was failing because spike_binner.pb.h couldn't be generated - the submodule was pointing to v2.0.0 which predates the spike_binner.proto addition.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major modernization of the synapse-cpp client library:
Breaking Changes
Test plan