From 3857808f70dc6b35295247ecd1dde158867790a6 Mon Sep 17 00:00:00 2001 From: Gilbert Montague Date: Thu, 7 Aug 2025 16:49:39 -0700 Subject: [PATCH] feature: remove StreamIn and StreamOut --- README.md | 2 +- api/node.proto | 21 +++++++++++-------- api/nodes/stream_in.proto | 14 ------------- api/nodes/stream_out.proto | 42 -------------------------------------- 4 files changed, 14 insertions(+), 65 deletions(-) delete mode 100644 api/nodes/stream_in.proto delete mode 100644 api/nodes/stream_out.proto diff --git a/README.md b/README.md index 5ab8695..b713447 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ The Synapse Protocol defines a standard interface for interacting with a wide range of possible neural interface devices. -Synapse uses gRPC for its control plane API and UDP for streaming data. Read the full Synapse protocol docs [here](https://science.xyz/docs/d/synapse/index). +Synapse uses gRPC for its control plane API and Taps for streaming data. Read the full Synapse protocol docs [here](https://science.xyz/docs/d/synapse/index). # Python Installation diff --git a/api/node.proto b/api/node.proto index 4991659..45de534 100644 --- a/api/node.proto +++ b/api/node.proto @@ -8,8 +8,6 @@ import "api/nodes/electrical_stimulation.proto"; import "api/nodes/optical_stimulation.proto"; import "api/nodes/spike_detector.proto"; import "api/nodes/spectral_filter.proto"; -import "api/nodes/stream_out.proto"; -import "api/nodes/stream_in.proto"; import "api/nodes/disk_writer.proto"; import "api/nodes/spike_source.proto"; import "api/nodes/spike_binner.proto"; @@ -17,8 +15,10 @@ import "api/nodes/application.proto"; enum NodeType { kNodeTypeUnknown = 0; - kStreamIn = 1; - kStreamOut = 2; + // kStreamIn = 1; + // kStreamOut = 2; + reserved 1, 2; + kBroadbandSource = 3; kElectricalStimulation = 4; kOpticalStimulation = 5; @@ -33,9 +33,12 @@ enum NodeType { message NodeConfig { NodeType type = 1; uint32 id = 2; + + // StreamOutConfig stream_out = 3; + // StreamInConfig stream_in = 4; + reserved 3, 4; + oneof config { - StreamOutConfig stream_out = 3; - StreamInConfig stream_in = 4; BroadbandSourceConfig broadband_source = 5; ElectricalStimulationConfig electrical_stimulation = 6; OpticalStimulationConfig optical_stimulation = 8; @@ -51,10 +54,12 @@ message NodeConfig { message NodeStatus { NodeType type = 1; uint32 id = 2; + + // StreamOutStatus stream_out = 3; + // StreamInStatus stream_in = 5; + reserved 3, 5; oneof status { - StreamOutStatus stream_out = 3; BroadbandSourceStatus broadband_source = 4; - StreamInStatus stream_in = 5; ElectricalStimulationStatus electrical_stimulation = 6; ApplicationNodeStatus application = 7; OpticalStimulationStatus optical_stimulation = 8; diff --git a/api/nodes/stream_in.proto b/api/nodes/stream_in.proto deleted file mode 100644 index dded3d0..0000000 --- a/api/nodes/stream_in.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto3"; - -import "api/datatype.proto"; - -package synapse; - -message StreamInConfig { - DataType data_type = 1; - repeated uint32 shape = 2; -} - -message StreamInStatus { - float throughput_mbps = 1; -} \ No newline at end of file diff --git a/api/nodes/stream_out.proto b/api/nodes/stream_out.proto deleted file mode 100644 index 6a8c1c2..0000000 --- a/api/nodes/stream_out.proto +++ /dev/null @@ -1,42 +0,0 @@ -syntax = "proto3"; - -package synapse; - -/** - * UDPUnicastConfig defines the configuration parameters for UDP unicast transport. - */ -message UDPUnicastConfig { - // IPv4 or IPv6 address of the destination endpoint - string destination_address = 1; - - // Destination port number, 0 to 65535 - uint32 destination_port = 2; -} - -/** - * StreamOutConfig defines the configuration for an outbound data stream. - * Clients can request to create a new outbound stream by providing a transport - */ -message StreamOutConfig { - // Human-readable identifier for the stream - string label = 1; - - // Transport-specific configuration - // Only one transport type can be specified at a time - oneof transport { - // Configure for UDP unicast support. Only one destination is supported - UDPUnicastConfig udp_unicast = 2; - } -} - -/** - * StreamOutStatus provides status information for an outbound stream. - * It contains data about the instantaneous performance of the stream - */ -message StreamOutStatus { - // Current throughput of the stream in megabits per second - float throughput_mbps = 1; - - // How many failed packet sends have happened since the start of the stream - uint64 failed_send_count = 2; -}